]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
m68k.c (m68k_sched_branch_type): Remove.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
75647ade
SB
12012-05-07 Steven Bosscher <steven@gcc.gnu.org>
2
3 * config/m68k/m68k.c (m68k_sched_branch_type): Remove.
4 (sched_branch_type): Remove.
5 (m68k_sched_md_init_global): Don't allocate it.
6 (m68k_sched_md_finish_global): Don't free it.
7 * config/m68k/m68k.h (m68k_sched_branch_type): Remove prototype.
8 * config/m68k/m68k.md: Set the type of insns using m68k_sched_branch_type
9 to bcc directly.
10
fe551ce4
RO
112012-05-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12
13 * config/sol2.c (solaris_override_options): New function.
14 * config/sol2-protos.h (solaris_override_options): Declare.
15 * config/sol2.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
16
1e373390
RG
172012-05-07 Richard Guenther <rguenther@suse.de>
18
19 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Return
20 whether we failed to compute data dependences.
21 (loop_prefetch_arrays): Fail if we failed.
22
19010925
UB
232012-05-07 Uros Bizjak <ubizjak@gmail.com>
24 Paolo Bonzini <bonzini@gnu.org>
25
26 * config/i386/i386.md (ctz<mode>2): Emit rep;bsf even for !TARGET_BMI.
27 Emit bsf when optimizing for size.
28 (*ffs<mode>_1): Ditto.
29
0345d1dd
OE
302012-05-07 Oleg Endo <olegendo@gcc.gnu.org>
31
32 PR target/53250
33 * config/sh/sh.c (sh_rtx_costs): Handle SET.
34
69f088a7
UB
352012-05-06 Uros Bizjak <ubizjak@gmail.com>
36
37 PR target/53227
38 * config/i386/i386.md (swap<mode>): Rename from *swap<mode>.
39 (bswapdi2): Split from bswap<mode>2. Use nonnimediate_operand
40 predicate for operand 1. Force operand 1 to register for TARGET_BSWAP.
41 (bswapsi2): Ditto.
42 (*bswapdi2_doubleword): New insn pattern.
43 (*bswap<mode>2): Rename from *bswap<mode>2_1.
44
91000c66
RS
452012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
46
47 * config/mips/mips.c (mips_set_reg_reg_piece_cost): New function.
48 (mips_set_reg_reg_cost): Likewise.
49 (mips_rtx_costs): Handle SET.
50
69523a7c
RS
512012-05-06 Richard Sandiford <rdsandiford@googlemail.com>
52
53 * lower-subreg.c (shift_cost): Use set_src_cost, avoiding the SET.
54 (compute_costs): Likewise for the zero extension. Use set_rtx_cost
55 to compute the cost of moves. Set the mode of the target register.
56
0a81f074
RS
572012-05-05 Richard Sandiford <rdsandiford@googlemail.com>
58
59 * rtl.h (plus_constant, plus_constant_mode): Merge into a single
60 plus_constant function.
61 * explow.c (plus_constant, plus_constant_mode): Likewise. Assert
62 that the mode is sensible.
63 (use_anchored_address, round_push, allocate_dynamic_stack_space)
64 (probe_stack_range, anti_adjust_stack_and_probe): Update calls to
65 plus_constant.
66
67 * alias.c (canon_rtx): Likewise.
68 (init_alias_analysis): Likewise.
69 * builtins.c (expand_builtin_return_addr)
70 (expand_builtin_setjmp_setup, expand_builtin_longjmp)
71 (expand_builtin_nonlocal_goto, expand_builtin_update_setjmp_buf)
72 (expand_builtin_apply_args_1, expand_builtin_apply, expand_movstr)
73 (expand_builtin_stpcpy): Likewise.
74 * calls.c (save_fixed_argument_area, restore_fixed_argument_area)
75 (compute_argument_addresses, internal_arg_pointer_based_exp)
76 (expand_call, emit_library_call_value_1): Likewise.
77 * cfgexpand.c (expand_one_stack_var_at, expand_debug_expr): Likewise.
78 * combine-stack-adj.c (try_apply_stack_adjustment): Likewise.
79 * combine.c (combine_simplify_rtx, force_to_mode): Likewise.
80 * cse.c (insert_const_anchor, find_reg_offset_for_const)
81 (use_related_value, fold_rtx): Likewise.
82 * cselib.c (cselib_subst_to_values): Likewise.
83 * dse.c (record_store, check_mem_read_rtx): Likewise.
84 * dwarf2out.c (rtl_for_decl_location, gen_variable_die): Likewise.
85 * emit-rtl.c (adjust_address_1): Likewise.
86 * except.c (sjlj_emit_function_enter)
87 (expand_builtin_extract_return_addr)
88 (expand_builtin_frob_return_addr): Likewise.
89 * expmed.c (expand_divmod): Likewise.
90 * expr.c (move_by_pieces, store_by_pieces, store_by_pieces_1)
91 (emit_move_resolve_push, push_block, emit_push_insn, store_expr)
92 (expand_expr_addr_expr_1, expand_expr_real_1): Likewise.
93 * function.c (assign_stack_local_1)
94 (instantiate_virtual_regs_in_rtx): Likewise.
95 * optabs.c (prepare_cmp_insn): Likewise.
96 * recog.c (offsettable_address_addr_space_p): Likewise.
97 * reload.c (find_reloads_address, form_sum)
98 (find_reloads_subreg_address): Likewise.
99 * reload1.c (init_reload, eliminate_regs_1)
100 (eliminate_regs_in_insn): Likewise.
101 * simplify-rtx.c (simplify_unary_operation_1)
102 (simplify_binary_operation_1, simplify_plus_minus): Likewise.
103 * var-tracking.c (compute_cfa_pointer, prepare_call_arguments)
104 (vt_add_function_parameter): Likewise.
105
106 * config/alpha/alpha.h (EH_RETURN_HANDLER_RTX): Likewise.
107 * config/alpha/vms.h (EH_RETURN_HANDLER_RTX): Likewise.
108 * config/alpha/alpha.c (alpha_legitimize_address_1)
109 (get_unaligned_address, alpha_expand_unaligned_load)
110 (alpha_expand_unaligned_store, alpha_expand_unaligned_load_words)
111 (alpha_expand_unaligned_store_words, alpha_expand_block_clear)
112 (alpha_expand_builtin_establish_vms_condition_handler)
113 (alpha_setup_incoming_varargs, emit_frame_store_1)
114 (alpha_expand_prologue, alpha_expand_epilogue)
115 (alpha_use_linkage): Likewise.
116 * config/alpha/alpha.md: Likewise.
117
118 * config/arm/arm.c (arm_trampoline_init, legitimize_pic_address)
119 (arm_load_pic_register, arm_pic_static_addr, arm_legitimize_address)
120 (thumb_legitimize_address, arm_gen_load_multiple_1)
121 (arm_gen_store_multiple_1, arm_gen_multiple_op, gen_ldm_seq)
122 (gen_stm_seq, gen_const_stm_seq, arm_block_move_unaligned_straight)
123 (arm_block_move_unaligned_loop, arm_gen_movmemqi, arm_reload_in_hi)
124 (arm_reload_out_hi, arm_reorg, vfp_emit_fstmd, emit_multi_reg_push)
125 (emit_sfm, thumb_set_frame_pointer, arm_expand_prologue)
126 (thumb1_emit_multi_reg_push, thumb1_expand_prologue)
127 (thumb_expand_movmemqi, arm_set_return_address)
128 (thumb_set_return_address): Likewise.
129 * config/arm/arm.md: Likewise.
130
131 * config/avr/avr.c (avr_incoming_return_addr_rtx)
132 (avr_prologue_setup_frame, expand_epilogue)
133 (avr_const_address_lo16): Likewise.
134
135 * config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Likewise.
136 * config/bfin/bfin.c (setup_incoming_varargs, bfin_load_pic_reg)
137 (bfin_expand_prologue, bfin_trampoline_init, bfin_expand_call)
138 (bfin_output_mi_thunk): Likewise.
139
140 * config/c6x/c6x.c (c6x_initialize_trampoline)
141 (c6x_output_mi_thunk): Likewise.
142
143 * config/cr16/cr16.h (EH_RETURN_HANDLER_RTX): Likewise.
144 * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise.
145
146 * config/cris/cris.c (cris_return_addr_rtx, cris_split_movdx)
147 (cris_expand_prologue, cris_expand_epilogue, cris_gen_movem_load)
148 (cris_emit_movem_store, cris_trampoline_init): Likewise.
149 * config/cris/cris.md: Likewise.
150
151 * config/darwin.c (machopic_indirect_data_reference)
152 (machopic_legitimize_pic_address): Likewise.
153
154 * config/epiphany/epiphany.c (epiphany_emit_save_restore)
155 (epiphany_expand_prologue, epiphany_expand_epilogue)
156 (epiphany_trampoline_init): Likewise.
157 * config/epiphany/epiphany.md: Likewise.
158
159 * config/fr30/fr30.c (fr30_move_double): Likewise.
160
161 * config/frv/frv.c (frv_dwarf_store, frv_expand_prologue)
162 (frv_expand_block_move, frv_expand_block_clear, frv_return_addr_rtx)
163 (frv_index_memory, unspec_got_name, frv_find_base_term)
164 (frv_output_dwarf_dtprel): Likewise.
165
166 * config/h8300/h8300.c (h8300_push_pop, h8300_return_addr_rtx)
167 (h8300_swap_into_er6, h8300_swap_out_of_er6): Likewise.
168
169 * config/i386/i386.h (RETURN_ADDR_RTX): Likewise.
170 * config/i386/i386.c (setup_incoming_varargs_64)
171 (setup_incoming_varargs_ms_64, choose_baseaddr)
172 (ix86_emit_save_reg_using_mov, ix86_adjust_stack_and_probe)
173 (ix86_emit_probe_stack_range, ix86_expand_prologue)
174 (ix86_emit_restore_reg_using_pop, ix86_emit_leave)
175 (ix86_expand_epilogue, legitimize_pic_address, ix86_legitimize_address)
176 (ix86_split_long_move, ix86_expand_movmem, ix86_expand_setmem)
177 (ix86_static_chain, ix86_trampoline_init, x86_this_parameter)
178 (x86_output_mi_thunk): Likewise.
179 * config/i386/i386.md: Likewise.
180
181 * config/ia64/ia64.c (ia64_expand_load_address)
182 (ia64_expand_tls_address, ia64_expand_move, ia64_split_tmode)
183 (do_spill, ia64_trampoline_init): Likewise.
184
185 * config/iq2000/iq2000.c (iq2000_va_start)
186 (iq2000_emit_frame_related_store, iq2000_expand_prologue)
187 (iq2000_expand_eh_return, iq2000_setup_incoming_varargs)
188 (iq2000_print_operand, iq2000_legitimize_address): Likewise.
189
190 * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
191
192 * config/m32c/m32c.c (m32c_return_addr_rtx)
193 (m32c_expand_insv): Likewise.
194
195 * config/m32r/m32r.c (m32r_setup_incoming_varargs)
196 (m32r_legitimize_pic_address, m32r_print_operand)
197 (m32r_print_operand_address): Likewise.
198
199 * config/m68k/linux.h (FINALIZE_TRAMPOLINE): Likewise.
200 * config/m68k/m68k.h (RETURN_ADDR_RTX): Likewise.
201 (EH_RETURN_HANDLER_RTX): Likewise.
202 * config/m68k/m68k.c (m68k_emit_movem, m68k_expand_prologue)
203 (m68k_expand_epilogue, legitimize_pic_address)
204 (m68k_output_mi_thunk): Likewise.
205 * config/m68k/m68k.md: Likewise.
206
207 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
208 (mcore_expand_epilog): Likewise.
209 * config/mcore/mcore.md: Likewise.
210
211 * config/mep/mep.c (mep_allocate_initial_value)
212 (mep_expand_prologue, mep_expand_epilogue): Likewise.
213
214 * config/microblaze/microblaze.c (double_memory_operand)
215 (microblaze_block_move_loop): Likewise.
216
217 * config/mips/mips.c (mips_strip_unspec_address, mips_add_offset)
218 (mips_setup_incoming_varargs, mips_va_start, mips_block_move_loop)
219 (mips_print_operand, mips16e_save_restore_reg, mips_save_restore_reg)
220 (mips_expand_prologue, mips_epilogue_set_cfa)
221 (mips_expand_epilogue): Likewise.
222 * config/mips/mips.md: Likewise.
223
224 * config/mmix/mmix.c (mmix_dynamic_chain_address, mmix_return_addr_rtx)
225 (mmix_expand_prologue, mmix_expand_epilogue): Likewise.
226
227 * config/mn10300/mn10300.c (mn10300_gen_multiple_store)
228 (mn10300_builtin_saveregs, mn10300_trampoline_init): Likewise.
229
230 * config/moxie/moxie.h (INCOMING_RETURN_ADDR_RTX): Likewise.
231 (EH_RETURN_HANDLER_RTX): Likewise.
232 * config/moxie/moxie.c (moxie_static_chain): Likewise.
233
234 * config/pa/pa.c (legitimize_pic_address, hppa_legitimize_address)
235 (store_reg, set_reg_plus_d, pa_expand_prologue, load_reg)
236 (pa_return_addr_rtx, hppa_builtin_saveregs)
237 (pa_trampoline_init): Likewise.
238 * config/pa/pa.md: Likewise.
239
240 * config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
241
242 * config/picochip/picochip.c (picochip_static_chain): Likewise.
243
244 * config/rs6000/rs6000.h (RS6000_SAVE_TOC): Likewise.
245 * config/rs6000/rs6000.c (rs6000_legitimize_address)
246 (setup_incoming_varargs, print_operand, rs6000_return_addr)
247 (rs6000_emit_eh_reg_restore, rs6000_emit_probe_stack_range)
248 (rs6000_emit_epilogue)
249 (rs6000_machopic_legitimize_pic_address): Likewise.
250
251 * config/rx/rx.c (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
252
253 * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Likewise.
254 (DYNAMIC_CHAIN_ADDRESS): Likewise.
255 * config/s390/s390.c (s390_decompose_address, legitimize_pic_address)
256 (s390_delegitimize_address, print_operand, annotate_constant_pool_refs)
257 (replace_constant_pool_ref, s390_return_addr_rtx, s390_back_chain_rtx)
258 (save_fpr, restore_fpr, save_gprs, restore_gprs, s390_emit_prologue)
259 (s390_emit_epilogue, s390_function_profiler): Likewise.
260 * config/s390/s390.md: Likewise.
261
262 * config/score/score.c (score_add_offset, score_prologue): Likewise.
263
264 * config/sh/sh.c (expand_block_move, push_regs, sh_builtin_saveregs)
265 (sh_output_mi_thunk): Likewise.
266 * config/sh/sh.md: Likewise.
267
268 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS, FRAME_ADDR_RTX)
269 (RETURN_ADDR_RTX, INCOMING_RETURN_ADDR_RTX): Likewise.
270 * config/sparc/sparc.c (sparc_legitimize_pic_address)
271 (sparc_emit_probe_stack_range, emit_save_or_restore_regs)
272 (emit_window_save, sparc_flat_expand_prologue, sparc_struct_value_rtx)
273 (emit_and_preserve): Likewise.
274 * config/sparc/sparc.md: Likewise.
275
276 * config/spu/spu.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
277 * config/spu/spu.c (spu_expand_insv, spu_machine_dependent_reorg)
278 (spu_setup_incoming_varargs, ea_load_store_inline)
279 (spu_expand_load): Likewise.
280
281 * config/stormy16/stormy16.c (xstormy16_expand_prologue)
282 (combine_bnp): Likewise.
283
284 * config/tilegx/tilegx.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
285 * config/tilegx/tilegx.c (tilegx_setup_incoming_varargs)
286 (tilegx_expand_unaligned_load, tilegx_trampoline_init): Likewise.
287
288 * config/tilepro/tilepro.h (DYNAMIC_CHAIN_ADDRESS): Likewise.
289 * config/tilepro/tilepro.c (tilepro_setup_incoming_varargs)
290 (tilepro_expand_unaligned_load, tilepro_trampoline_init): Likewise.
291
292 * config/v850/v850.c (expand_prologue, expand_epilogue): Likewise.
293 * config/v850/v850.md: Likewise.
294
295 * config/vax/elf.h (EH_RETURN_STACKADJ_RTX): Likewise.
296 (EH_RETURN_HANDLER_RTX): Likewise.
297 * config/vax/vax.h (DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX): Likewise.
298 * config/vax/vax.c (vax_add_reg_cfa_offset, vax_expand_prologue)
299 (print_operand_address, vax_trampoline_init): Likewise.
300
301 * config/xtensa/xtensa.c (xtensa_expand_prologue, xtensa_return_addr)
302 (xtensa_function_value_regno_p): Likewise.
303
683c600b
AP
3042012-05-04 Andrew Pinski <apinski@cavium.com>
305
306 * expr.c (get_def_for_expr_class): New function.
307 (convert_tree_comp_to_rtx): New function.
308 (expand_cond_expr_using_cmove): New function.
309 (expand_expr_real_2 <case COND_EXPR>): Call
310 expand_cond_expr_using_cmove first and return if it succeeds.
311 Remove the check for HAVE_conditional_move since we should have
312 already converted it to a conditional move.
313 * config/i386/i386.c (ix86_expand_int_movcc): Disallow comparison
314 modes of DImode for 32bits and TImode.
315
41723253
SB
3162012-05-04 Steven Bosscher <steven@gcc.gnu.org>
317
318 PR other/29442
319 * read-md.c (fprint_md_ptr_loc, fprint_c_condition): New functions.
320 (print_md_ptr_loc, print_c_condition): Use them.
321 * read-md.h (fprint_md_ptr_loc, fprint_c_condition): New prototypes.
322 * genattrtab.c (attr_file_name, dfa_file_name, latency_file_name,
323 attr_file, dfa_file, latency_file): New global variables.
324 (write_attr_valueq, write_attr_set, write_attr_case, write_attr_value,
325 write_upcase, write_indent, write_length_unit_log, write_test_expr,
326 write_attr_get, write_insn_cases, write_eligible_delay,
327 write_const_num_delay_slots): Accept FILE pointer and toss it around.
328 Update all callers.
329 (write_header, open_outfile, handle_arg): New funcions.
330 (make_automaton_attrs): Write prototypes as extern to the output
331 files.
332 (main): Use init_rtx_reader_args_cb with handle_arg to take 3 file
333 names from the command line. Open the output files and write out
334 internal functions for DFA functions to dfa_file_name, insn latency
335 functions to latency_file_name, and everything else to attr_file.
336 * Makefile.in (OBJS): Add insn-dfatab.o and insn-latencytab.o.
337 (BACKEND): Build libbackend first.
338 (MOSTLYCLEANFILES): Add insn-dfatab.c and insn-latencytab.c.
339 (.PRECIOUS): Likewise.
340 (insn-dfatab.o): New rule.
341 (insn-latencytab.o): New rule.
342 (simple_rtl_generated_c): Do not include insn-attrtab.c.
343 (s-attrtab): New rule.
344
593dbe11
SB
3452012-05-04 Steven Bosscher <steven@gcc.gnu.org>
346
347 * rtl.def (ATTR_FLAG): Remove probability indicating flags.
348 * genattr.c (main): Remove ATTR_FLAG_likely, ATTR_FLAG_unlikely,
349 ATTR_FLAG_very_likely, and ATTR_FLAG_very_unlikely.
350 * reorg.c (get_jump_flags): Do not set the removed flags.
351
81e7aa8e
SB
352 * doc/md.texi (attr_flag): Update for abovementioned changes.
353
cef31f9c
UB
3542012-05-04 Uros Bizjak <ubizjak@gmail.com>
355
356 PR target/53228
357 * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
358 (TARGET_CMOV): Rename from TARGET_CMOVE.
359 (TARGET_CMOVE): New define.
360 * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
361 Do not set TARGET_CMOVE here.
362
33d11b97
DS
3632012-05-04 Dodji Seketeli <dodji@redhat.com>
364
365 Enable -Wunused-local-typedefs when -Wall or -Wunused is on
366 * opts.c (finish_options): Activate -Wunused-local-typedefs if
367 -Wunused is activated.
368 * doc/invoke.texi: Update blurb of -Wunused-local-typedefs.
369
1eae36f0
AK
3702012-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
371
372 * config/s390/s390.md (*movmem_short, *clrmem_short)
373 (*cmpmem_short): Move the mode check from the insn condition to
374 the match_scratch.
375
33018845
UW
3762012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
377
378 PR tree-optimization/52633
379 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
380 vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
381 (vect_recog_over_widening_pattern): Remove handling of code that was
382 already detected as over-widening pattern. Remove special handling
383 of "unsigned" cases. Instead, support general case of conversion
384 of the shift result to another type.
385
9a7a4398
UW
3862012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
387
388 * tree-vect-patterns.c (vect_single_imm_use): New function.
389 (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
390 (vect_recog_over_widening_pattern): Likewise.
391 (vect_recog_widen_shift_pattern): Likewise.
392
f71cf56a
UW
3932012-05-04 Ulrich Weigand <ulrich.weigand@linaro.org>
394
395 * tree-vect-patterns.c (vect_same_loop_or_bb_p): New function.
396 (vect_handle_widen_op_by_const): Use it instead of open-coding test.
397 (vect_recog_widen_mult_pattern): Likewise.
398 (vect_operation_fits_smaller_type): Likewise.
399 (vect_recog_over_widening_pattern): Likewise.
400 (vect_recog_widen_shift_pattern): Add to vect_same_loop_or_bb_p test.
401
8bb50e5c
RG
4022012-05-04 Richard Guenther <rguenther@suse.de>
403
404 PR lto/50602
405 * lto-wrapper.c (merge_and_complain): Complain about mismatches
406 of -freg-struct-return and -fpcc-struct-return.
407 (run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
408 from the input file options and ignore those from the link
409 command line.
410
efe7068b
RG
4112012-05-04 Richard Guenther <rguenther@suse.de>
412
413 PR tree-optimization/53168
414 * tree-ssa-pre.c (phi_translate_1): Only handle type-punned
415 memory reads when the result is a constant we can pun.
416
1d67dde8
RB
4172012-05-04 Richard Guenther <rguenther@suse.de>
418
419 * common.opt (flto-report): Do not mark as Optimization.
420
a2f2d218
EB
4212012-05-04 Eric Botcazou <ebotcazou@adacore.com>
422
423 PR target/48496
424 * recog.c (constrain_operands): If extra constraints are present, also
425 accept pseudo-registers with equivalent memory locations during reload.
426
9178a345
OH
4272012-05-04 Olivier Hainque <hainque@adacore.com>
428
429 * collect2.c (may_unlink_output_file): New global.
430 (maybe_unlink): Honor it.
431 * collect2.h: Add extern for it.
432 * tlink.c (do_tlink): Set it to true if the link succeeded.
433
b50ff8bb
OH
4342012-05-04 Olivier Hainque <hainque@adacore.com>
435
436 * gcc.c (eval_spec_function): Finalize/restore the current string
437 obstack state as part of the context push/pop operations.
438
73292fcf
BC
4392012-05-04 Bin Cheng <bin.cheng@arm.com>
440
441 PR rtl-optimization/52804
442 * reload1.c (reload_reg_reaches_end_p): Check whether successor
443 reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
444 of current one with type RELOAD_FOR_INPADDR_ADDRESS.
445 Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
446 RELOAD_FOR_OUTADDR_ADDRESS.
447
24454141
MLI
4482012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
449
450 PR c++/24985
451 * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Show caret
452 for macro expansion.
453
0c3641b0
MLI
4542012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
455
456 * flags.h (flag_permissive): Do not declare.
457 * diagnostic.c (diagnostic_report_diagnostic): Handle fpermissive
458 option specially.
459 * toplev.c (flag_permissive): Do not define.
460 * c-tree.h (system_header_p): Delete unused.
461
d333c3eb
DM
4622012-05-03 David S. Miller <davem@davemloft.net>
463
464 PR target/52684
465 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
466 MEM directly into a libcall, mark it's MEM_EXPR as addressable.
467 (sparc_emit_float_lib_cmp): Likewise.
468
65d512d1
MM
4692012-05-03 Michael Meissner <meissner@linux.vnet.ibm.com>
470
471 PR target/53199
472 * config/rs6000/rs6000.md (bswapdi splitters): If
473 -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
474 default) is used, generate an alternate sequence that does not
475 depend on using indexed addressing.
476
88f4f86f
JM
4772012-05-03 Jason Merrill <jason@redhat.com>
478
479 * gengtype.c (write_types): Fix warning message.
480 (write_local): Likewise.
481
05688bf7
JM
4822012-05-02 Jason Merrill <jason@redhat.com>
483
484 * dwarf2out.c (struct external_ref, build_local_stub): New.
485 (hash_external_ref, external_ref_eq, lookup_external_ref): New.
486 (optimize_external_refs, optimize_external_refs_1): New.
487 (change_AT_die_ref): New.
488 (clone_as_declaration): Add DW_AT_signature when cloning a declaration.
489 (build_abbrev_table): Take the external refs hashtable.
490 (output_comp_unit): Get it from optimize_external_refs and pass it in.
491
f95f017c
JH
4922012-05-03 Jan Hubicka <jh@suse.cz>
493
494 PR middle-end/53093
495 * tree-emutls.c (new_emutls_decl): Fix handling of aliases.
496
c2b6c111
JH
4972012-05-03 Jan Hubicka <jh@suse.cz>
498
499 PR middle-end/53106
500 * ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones.
501
d8acd563
JM
5022012-05-03 Jason Merrill <jason@redhat.com>
503
504 * dwarf2out.c (die_struct): Add comdat_type_p flag. Use it instead of
505 use_debug_types to discriminate the die_id union.
506 (print_die, assign_symbol_names, copy_decls_walk): Likewise.
507 (build_abbrev_table, output_die): Likewise.
508 (prune_unused_types_walk_attribs): Likewise.
509 (generate_type_signature, copy_declaration_context): Set it.
510 (remove_child_or_replace_with_skeleton): Set it.
511 (dwarf2out_start_source_file, dwarf2out_end_source_file): Don't
512 check use_debug_types.
513 (dwarf2out_finish): Do break_out_includes after .debug_types.
514
0fd0752e
JM
5152012-05-03 Jason Merrill <jason@redhat.com>
516
517 * dwarf2out.c (modified_type_die): Use scope_die_for.
518 (gen_type_die_with_usage, dwarf2out_finish): Likewise.
519 (uses_local_type_r, uses_local_type): New.
520 (scope_die_for): Keep a type that uses a local type in local scope.
521 Use get_context_die for namespace and type scope.
522
63aaf27c
JM
5232012-05-03 Jason Merrill <jason@redhat.com>
524
525 * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
526 pc thunk.
527 * dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
528 (dwarf2out_finish): Likewise.
529
644ffefd
MJ
5302012-05-03 Martin Jambor <mjambor@suse.cz>
531
532 * builtins.c (get_object_alignment_1): Return whether we can determine
533 the alignment or conservatively assume byte alignment. Return the
534 alignment by reference. Use get_pointer_alignment_1 for dereference
535 alignment.
536 (get_pointer_alignment_1): Return whether we can determine the
537 alignment or conservatively assume byte alignment. Return the
538 alignment by reference. Use get_ptr_info_alignment to get SSA name
539 alignment.
540 (get_object_alignment): Update call to get_object_alignment_1.
541 (get_object_or_type_alignment): Likewise, fall back to type alignment
542 only when it returned false.
543 (get_pointer_alignment): Update call to get_pointer_alignment_1.
544 * fold-const.c (get_pointer_modulus_and_residue): Update call to
545 get_object_alignment_1.
546 * ipa-prop.c (ipa_modify_call_arguments): Update call to
547 get_pointer_alignment_1.
548 * tree-sra.c (build_ref_for_offset): Likewise, fall back to the type
549 of MEM_REF or TARGET_MEM_REF only when it returns false.
550 * tree-ssa-ccp.c (get_value_from_alignment): Update call to
551 get_object_alignment_1.
552 (ccp_finalize): Use set_ptr_info_alignment.
553 * tree.h (get_object_alignment_1): Update declaration.
554 (get_pointer_alignment_1): Likewise.
555 * gimple-pretty-print.c (dump_gimple_phi): Use get_ptr_info_alignment.
556 (dump_gimple_stmt): Likewise.
557 * tree-flow.h (ptr_info_def): Updated comments of fields align and
558 misalign.
559 (get_ptr_info_alignment): Declared.
560 (mark_ptr_info_alignment_unknown): Likewise.
561 (set_ptr_info_alignment): Likewise.
562 (adjust_ptr_info_misalignment): Likewise.
563 * tree-ssa-address.c (copy_ref_info): Use new access functions to get
564 and set alignment of SSA names.
565 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Call
566 mark_ptr_info_alignment_unknown.
567 * tree-ssanames.c (get_ptr_info_alignment): New function.
568 (mark_ptr_info_alignment_unknown): Likewise.
569 (set_ptr_info_alignment): Likewise.
570 (adjust_ptr_info_misalignment): Likewise.
571 (get_ptr_info): Call mark_ptr_info_alignment_unknown.
572 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
573 Likewise.
574 (bump_vector_ptr): Likewise.
575 * tree-vect-stmts.c (create_array_ref): Use set_ptr_info_alignment.
576 (vectorizable_store): Likewise.
577 (vectorizable_load): Likewise.
578
3e8b732e
MM
5792012-05-03 Michael Matz <matz@suse.de>
580
581 * basic-block.h (struct rtl_bb_info, struct gimple_bb_info): Move
582 in front of basic_block_def.
583 (struct basic_block_def): Make il.gimple the full struct, not a
584 pointer.
585 (__assert_gimple_bb_smaller_rtl_bb): Asserting typedef.
586
cef31f9c 587 * cfgexpand.c (expand_gimple_basic_block): Clear all il.gimple members.
3e8b732e
MM
588 * gimple-iterator.c (gimple_stmt_iterator): Don't special case
589 NULL il.gimple, which can't happen anymore.
590 * gimple.h (bb_seq): il.gimple can't be NULL.
591 (bb_seq_add): Ditto.
592 (set_bb_seq): Adjust.
593 (gsi_start_bb, gsi_last_bb): Tidy.
594 * lto-streamer-in.c (make_new_block): Don't zero members that
595 are zeroed already, don't allocate a gimple_bb_info.
596 * tree-cfg.c (create_bb): Don't allocate a gimple_bb_info.
597 (remove_bb): Clear all il.gimple members.
598 (gimple_verify_flow_info): Adjust for flat il.gimple.
599 * tree-flow-inline.h (phi_nodes, phi_nodes_ptr, set_phi_nodes): Adjust.
600
601 * coretypes.h (const_gimple_seq): Remove typedef.
602 * gimple.h (gimple_seq_first): Take gimple_seq.
603 (gimple_seq_first_stmt): Ditto.
604 (gimple_seq_last): Ditto.
605 (gimple_seq_last_stmt): Ditto.
606 (gimple_seq_empty_p): Ditto.
607
bea966c2
RG
6082012-05-03 Richard Guenther <rguenther@suse.de>
609
610 * tree-ssa-pre.c (valid_in_sets): Remove checking of trapping
611 operations.
cef31f9c 612 (prune_clobbered_mems): Do it here. Do not uselessly sort expressions.
bea966c2
RG
613 (compute_avail): Do not add possibly trapping operations to
614 EXP_GEN if they might not be executed in the block.
615
1cbdef51
UB
6162012-05-03 Uros Bizjak <ubizjak@gmail.com>
617
618 * config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Remove.
619
6ab1ab14
SB
6202012-05-03 Steven Bosscher <steven@gcc.gnu.org>
621
622 * tree-switch-conversion.c (gen_inbound_check): Free post-dominance
623 information as early as possible. Update dominance info instead of
624 discarding it.
625
19372838
RG
6262012-05-03 Richard Guenther <rguenther@suse.de>
627
628 * tree-ssa-pre.c (debug_bitmap_sets_for): New function.
629 (union_contains_value): Remove.
630 (vro_valid_in_sets): Likewise.
631 (op_valid_in_sets): New function.
632 (valid_in_sets): Use op_valid_in_sets.
633 (insert_into_preds_of_block): Move dumping ...
634 (do_regular_insertion): ... here.
635 (do_partial_partial_insertion): ... and here. Dump that
636 we've found a partial partial redundancy.
637 (insert): Dump the current insert iteration.
638
d5becc11
JJ
6392012-05-03 Jakub Jelinek <jakub@redhat.com>
640
68d23306
JJ
641 PR plugins/53126
642 * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
643 append program name to it and pass that as first argument
644 to make_relative_prefix. Always pass standard_libexec_prefix
645 as last argument to make_relative_prefix. If
646 make_relative_prefix returns NULL, fall back to
647 standard_libexec_prefix.
648
273ccb6d
JJ
649 PR debug/53174
650 * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
651 removed.
652
d40a89e7
JJ
653 PR target/53187
654 * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
655 mode, return that mode.
656
d5becc11
JJ
657 PR target/53194
658 * config/i386/i386-c.c (ix86_target_macros_internal): Don't
659 define __ATOMIC_HLE_* macros here.
660 (ix86_target_macros): But here, using cpp_define_formatted.
661
9179ed9d
RG
6622012-05-03 Richard Guenther <rguenther@suse.de>
663
664 PR tree-optimization/53144
665 * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
666 Rename to ...
667 (vn_reference_lookup_or_insert_for_pieces): ... this. Properly deal
668 with SSA name values.
669 (vn_reference_lookup_3): Adjust callers.
670
d130f146
GG
6712012-05-03 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
672
673 * config/i386/driver-i386.c (host_detect_local_cpu): Reset
674 has_fma4 for AMD processors with both fma3 and fma4 support.
675
38d7f26e
KY
6762012-05-03 Kirill Yukhin <kirill.yukhin@intel.com>
677
678 PR target/53201
679 * config/i386/driver-i386.c (host_detect_local_cpu): Add space to
680 "-mno-hle".
681
0285a18e
MM
6822012-05-03 Michael Matz <matz@suse.de>
683
684 PR bootstrap/53197
1cbdef51 685 * tree-ssa-dse.c (dse_optimize_stmt): Take pointer to iterator.
0285a18e
MM
686 (dse_enter_block): Properly iterate the whole sequence even
687 if the last statement was removed.
688
daccad6d
SB
6892012-05-02 Steven Bosscher <steven@gcc.gnu.org>
690
691 * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
692 unset flag_jump_tables.
693 * stmt.c (expand_case): Remove special flag_pic case conditional
694 on ASM_OUTPUT_ADDR_DIFF_ELT not being defined.
695
aefa216b
UW
6962012-05-02 Ulrich Weigand <ulrich.weigand@linaro.org>
697
698 * common/config/s390/s390-common.c (s390_option_optimization_table):
699 Enable -fsched-pressure using -fsched-pressure-algorithm=model by
700 default when optimizing.
701
d282264e
MJ
7022012-05-02 Martin Jambor <mjambor@suse.cz>
703
704 PR lto/52605
705 * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
706 of a variable when the contect is a function.
707
355a7673
MM
7082012-05-02 Michael Matz <matz@suse.de>
709
710 * coretypes.h (gimple_seq, const_gimple_seq): Typedef as gimple.
711 * gimple.h (struct gimple_seq_node_d, struct gimple_seq_d): Remove.
712 (const_gimple_seq_node): Remove.
713 (gimple_seq_node): Typedef as gimple.
714 (struct gimple_statement_base): Add next and prev members,
715 adjust all WORD markers in using structs.
716 (union gimple_statement_d): Link via gsbase.next field for GC and PCH.
717 (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
718 gimple_seq_last_stmt): Adjust as gimple_seq, gimple_seq_node and
719 gimple are the same.
720 (gimple_seq_set_last, gimple_seq_set_first): Don't allocate
721 gimple_seq, adjust.
722 (gimple_init_singleton): New function.
723 (gsi_start_1, gsi_last_1, gsi_end_p, gsi_one_before_end_p): Adjust.
724 (gsi_next, gsi_prev): Adjust, handle prev cyclic list correctly.
725 (gsi_stmt): Adjust.
726 (gsi_stmt_ptr): Remove.
727 (enum gimple_alloc_kind): Remove gimple_alloc_kind_seq member.
728
729 * gimple-iterator.c (update_bb_for_stmts): Take last parameter
730 again, adjust for above changes.
731 (update_call_edge_frequencies): Adjust for above changes.
732 (gsi_insert_seq_nodes_before): Rewrite for new data structure.
733 (gsi_insert_seq_nodes_after): Ditto.
734 (gsi_split_seq_after): Ditto.
735 (gsi_set_stmt): Ditto.
736 (gsi_split_seq_before): Ditto.
737 (gsi_remove): Ditto.
738 (gsi_insert_seq_before_without_update): Don't free sequence.
739 (gsi_insert_seq_after_without_update): Ditto.
740 (gsi_replace): Assert some more invariants.
741 (gsi_insert_before_without_update, gsi_insert_after_without_update):
742 Tidy.
743 (gsi_for_stmt): Don't search for stmt.
744 (gsi_insert_on_edge_immediate): Tidy.
745
746 * gimple.c (gimple_alloc_k): Remove "sequences".
747 (gimple_seq_cache): Remove.
748 (gimple_alloc_stat): Make stmt a singleton sequence.
749 (gimple_seq_alloc, gimple_seq_free): Remove.
750 (gimple_assign_set_rhs_with_ops_1): Ensure new stmt is a singleton.
751 (gimple_copy): Ditto.
752 * gimplify.c (gimplify_cleanup_point_expr): Use gsi_set_stmt,
753 create iterator from correct sequence.
754 * tree-phinodes.c (make_phi_node): Make stmt a singleton.
755
7562012-05-02 Michael Matz <matz@suse.de>
757
758 * gimple.h (gimple_stmt_iterator <seq>): Make it be pointer to
759 gimple_seq.
760 (gimple_seq_set_last, gimple_seq_set_first): Take pointer to
761 sequence, lazily allocate it.
762 (bb_seq_addr): New function.
763 (gsi_start_1): Rename from gsi_start, but take pointer to sequence.
764 (gsi_start): Macro to wrap gsi_start_1 taking pointer of argument.
765 (gsi_none): New function.
766 (gsi_start_bb): Adjust.
767 (gsi_last_1): Rename from gsi_last, but take pointer to sequence.
768 (gsi_last): Macro to wrap gsi_last_1 taking pointer of argument.
769 (gsi_last_bb): Adjust.
770 (gsi_seq): Adjust.
771 * tree-flow-inline.h (phi_nodes_ptr): New function.
772
1cbdef51 773 * gimple-iterator.c (gsi_insert_seq_nodes_before): Adjust to
355a7673
MM
774 datastructure and interface change.
775 (gsi_insert_seq_before_without_update): Ditto.
776 (gsi_insert_seq_nodes_after): Ditto.
777 (gsi_insert_seq_after_without_update): Ditto.
778 (gsi_split_seq_after): Ditto, don't use gimple_seq_alloc.
779 (gsi_split_seq_before): Ditto.
780 (gsi_start_phis): Adjust.
1cbdef51 781 * tree-vect-loop.c (vect_determine_vectorization_factor): Use gsi_none.
355a7673
MM
782 (vect_transform_loop): Ditto.
783 * gimple.c (gimple_seq_add_stmt, gimple_seq_add_seq,
784 gimple_seq_copy): Don't use gimple_seq_alloc.
785 * gimplify.c (gimple_seq_add_stmt_without_update): Ditto.
786 (gimplify_seq_add_seq): Ditto.
787 * lto-streamer-in.c (make_new_block): Ditto.
788 * tree-cfg.c (create_bb): Ditto.
789 * tree-sra.c (initialize_parameter_reductions): Ditto.
790
7912012-05-02 Michael Matz <matz@suse.de>
792
793 * gimple.h (gimple_seq_first, gimple_seq_first_stmt, gimple_seq_last,
794 gimple_seq_last_stmt, gimple_seq_set_last, gimple_seq_set_first,
795 gimple_seq_empty_p, gimple_seq_alloc_with_stmt, bb_seq,
796 set_bb_seq): Move down to after gimple_statement_d definition.
797
7982012-05-02 Michael Matz <matz@suse.de>
799
800 * gimple-fold.c (gimplify_and_update_call_from_tree): Use
801 gsi_replace_with_seq, instead of inserting itself.
802 * gimple-iterator.c (gsi_replace_with_seq): New function.
803 * tree-ssa-forwprop.c (forward_propagate_comparison): Take
804 iterator instead of statement, advance it.
805 (ssa_forward_propagate_and_combine): Adjust call to above.
806
8072012-05-02 Michael Matz <matz@suse.de>
808
809 * tree-phinodes.c (add_phi_node_to_bb): Tidy, don't use
810 gimple_seq_alloc.
811 * omp-low.c (finalize_task_copyfn): Don't use gimple_seq_alloc.
812 * tree-nested.c (walk_gimple_omp_for): Ditto.
813 * trans-mem.c (lower_transaction): Ditto.
814 * tree-eh.c (do_return_redirection): Ditto.
815 (do_goto_redirection): Ditto.
816 (lower_try_finally_switch): Ditto.
817 * gimplify.c (gimplify_stmt): Ditto.
818 (gimplify_scan_omp_clauses): Ditto.
819 (gimplify_omp_for): Ditto.
820 (gimplify_function_tree): Ditto.
821 * gimple-fold.c (gimplify_and_update_call_from_tree): Ditto.
822 * tree-mudflap.c (mf_decl_cache_locals): Ditto.
823 (mf_build_check_statement_for): Ditto.
824 (mx_register_decls): Ditto.
825 * graphite-sese-to-poly.c (remove_invariant_phi): Ditto,
826 and don't use itertors to append.
827 (insert_stmts): Ditto.
828 (insert_out_of_ssa_copy): Ditto.
829 (insert_out_of_ssa_copy_on_edge): Ditto.
830
8312012-05-02 Michael Matz <matz@suse.de>
832
833 * gimple.h (gimple_bind_body_ptr): New function.
834 (gimple_bind_body): Use it.
835 (gimple_catch_handler): Use gimple_catch_handler_ptr.
836 (gimple_eh_filter_failure_ptr): New function.
837 (gimple_eh_filter_failure): Use it.
838 (gimple_eh_else_n_body_ptr): New function.
839 (gimple_eh_else_n_body): Use it.
840 (gimple_eh_else_e_body_ptr): New function.
841 (gimple_eh_else_e_body): Use it.
842 (gimple_try_eval_ptr): New function.
843 (gimple_try_eval): Use it.
844 (gimple_try_cleanup_ptr): New function.
845 (gimple_try_cleanup): Use it.
846 (gimple_wce_cleanup_ptr): New function.
847 (gimple_wce_cleanup): Use it.
848 (gimple_omp_body_ptr): New function.
849 (gimple_omp_body): Use it.
850 (gimple_omp_for_pre_body_ptr): New function.
851 (gimple_omp_for_pre_body): Use it.
852 (gimple_transaction_body_ptr): New function.
853 (gimple_transaction_body): Use it.
854 (gsi_split_seq_before): Adjust to return nothing and take pointer
855 to sequence.
856 (gsi_set_stmt): Declare.
857 (gsi_replace_with_seq): Declare.
858 (walk_gimple_seq_mod): Declare.
859 * function.h (struct function <gimple_body>): Use typedef gimple_seq.
860
861 * gimple-iterator.c (gsi_set_stmt): New function.
862 (gsi_split_seq_before): Return new sequence via pointer argument.
863 (gsi_replace): Use gsi_set_stmt.
864
865 * tree-ssa-loop-im.c (move_computations_stmt): First remove
866 then insert stmt.
1cbdef51 867 * tree-complex.c (update_complex_components_on_edge): Don't copy gsi.
355a7673
MM
868 * tree-phinodes.c (resize_phi_node): Don't resize stmt in-place,
869 return new stmt.
870 (reserve_phi_args_for_new_edge): Change call to above,
871 use gsi_set_stmt.
872
1cbdef51 873 * omp-low.c (lower_omp): Change prototype to take pointer to sequence.
355a7673
MM
874 (lower_rec_input_clauses): Use gimple_seq_add_seq instead of
875 iterators. Adjust call to lower_omp.
876 (lower_lastprivate_clauses): Adjust call to lower_omp.
877 (lower_reduction_clauses): Ditto.
878 (expand_omp_taskreg): Nullify non-cfg body of child_fn.
879 (lower_omp_sections): Don't explicitely count sequence length,
880 nullify lowered bodies earlier, ensure stmts are part of only
881 one sequence, adjust call to lower_omp.
882 (lower_omp_single): Ensure stmts are part of only one sequence,
883 adjust call to lower_omp.
884 (lower_omp_master): Ditto.
885 (lower_omp_ordered): Ditto.
886 (lower_omp_critical): Ditto.
887 (lower_omp_for): Ditto.
888 (lower_omp_taskreg): Ditto, tidy.
889 (lower_omp_1): Adjust calls to lower_omp.
890 (execute_lower_omp): Ditto.
891 (lower_omp): Adjust to take pointer to sequence.
892 (diagnose_sb_2): Use walk_gimple_seq_mod.
893 (diagnose_omp_structured_block_errors): Ditto and set possibly
894 changed function body.
895 * gimple-low.c (lower_function_body): Set function body after
896 it stabilizes.
897 (lower_sequence): Adjust to take pointer to sequence.
898 (lower_omp_directive): Ensure stmt isn't put twice into the
899 sequence, adjust call to lower_sequence.
900 (lower_stmt): Adjust calls to lower_sequence.
901 (lower_gimple_bind): Ditto.
902 (gimple_try_catch_may_fallthru): Call gsi_start with lvalue.
903 * tree-nested.c (walk_body): Take pointer to sequence, use
904 walk_gimple_seq_mod.
1cbdef51 905 (walk_function): Adjust call to walk_body, set possibly changed body.
355a7673
MM
906 (walk_gimple_omp_for): Adjust calls to walk_body.
907 (convert_nonlocal_omp_clauses): Ditto.
908 (convert_nonlocal_reference_stmt): Ditto.
909 (convert_local_omp_clauses): Ditto.
910 (convert_local_reference_stmt): Ditto.
911 (convert_tramp_reference_stmt): Ditto.
912 (convert_gimple_call): Ditto.
913 (convert_nl_goto_reference): Use local iterator copy.
914 * gimple.c (walk_gimple_seq_mod): Renamed from walk_gimple_seq,
915 but taking pointer to sequence, ensure gsi_start is called with
916 callers lvalue.
917 (walk_gimple_seq): New wrapper around walk_gimple_seq_mod,
918 asserting that the sequence head didn't change.
919 (walk_gimple_stmt): Replace all calls to walk_gimple_seq with
920 walk_gimple_seq_mod.
921 * trans-mem.c (lower_transaction): Use walk_gimple_seq_mod.
922 (execute_lower_tm): Ditto, and set possibly changed body.
923 * tree-eh.c (lower_eh_constructs_1): Take pointer to sequence,
924 call gsi_start with that lvalue.
925 (replace_goto_queue_stmt_list): Ditto.
926 (replace_goto_queue_1): Adjust calls to replace_goto_queue_stmt_list.
927 (replace_goto_queue): Ditto.
928 (lower_try_finally_nofallthru): Adjust calls to lower_eh_constructs_1.
929 (lower_try_finally_onedest): Ditto.
930 (lower_try_finally_copy): Ditto.
931 (lower_try_finally_switch): Ditto.
932 (lower_try_finally): Ditto.
933 (lower_eh_filter): Ditto.
934 (lower_eh_must_not_throw): Ditto.
935 (lower_cleanup): Ditto.
936 (lower_eh_constructs_2): Ditto.
937 (lower_catch): Ditto, and ensure gsi_start is called with lvalue.
938 (lower_eh_constructs): Adjust calls to lower_eh_constructs_1, and
939 set possibly changed body.
940 (optimize_double_finally): Call gsi_start with lvalue.
941
942 * tree-cfg.c (make_blocks): Adjust call to gsi_split_seq_before.
943 (gimple_split_block): Ditto.
944 (gimple_merge_blocks): Use gsi_start_phis.
945 (move_stmt_r): Use walk_gimple_seq_mod.
946 * tree-ssa-dse.c (dse_enter_block): Use gsi_last_bb.
947 * cgraphbuild.c (build_cgraph_edges): Use gsi_start_phis.
948 (rebuild_cgraph_edges): Ditto.
949 (cgraph_rebuild_references): Ditto.
950 * ipa-prop.c (ipa_analyze_params_uses): Ditto.
951 * tree-inline.c (copy_phis_for_bb): Ditto.
952 * tree-ssa-dce.c: Ditto.
953
954 * cgraphunit.c (cgraph_analyze_function): Use gimple_has_body_p.
955
5dcfdccd
KY
9562012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
957 Andi Kleen <ak@linux.intel.com>
958
355a7673 959 * coretypes.h (MEMMODEL_MASK): New.
5dcfdccd
KY
960 * builtins.c (get_memmodel): Add val. Call target.memmodel_check
961 and return new variable.
962 (expand_builtin_atomic_exchange): Mask memmodel values.
963 (expand_builtin_atomic_compare_exchange): Ditto.
964 (expand_builtin_atomic_load): Ditto.
965 (expand_builtin_atomic_store): Ditto.
966 (expand_builtin_atomic_clear): Ditto.
967 * doc/extend.texi: Mention port-dependent memory model flags.
968 * config/i386/cpuid.h (bit_HLE): New.
969 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
970 HLE support.
971 * config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
cef31f9c 972 * config/i386/i386-c.c (ix86_target_macros_internal): Set HLE defines.
5dcfdccd 973 (ix86_target_string)<-mhle>: New.
1cbdef51
UB
974 (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
975 * config/i386/i386.c (ix86_target_string) <OPTION_MASK_ISA_HLE>: New.
976 (ix86_valid_target_attribute_inner_p) <OPT_mhle>: Ditto.
977 (ix86_option_override_internal) <PTA_HLE>: New switch, set it
5dcfdccd
KY
978 enabled for generic, generic64 and core-avx2.
979 (ix86_print_operand): Generate HLE lock prefixes.
980 (ix86_memmodel_check): New.
981 (TARGET_MEMMODEL_CHECK): Ditto.
982 * config/i386/i386.h (OPTION_ISA_HLE): Ditto.
983 (IX86_HLE_ACQUIRE): Ditto.
984 (IX86_HLE_RELEASE): Ditto.
985 * config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
986 * config/i386/i386.opt (mhle): Ditto.
987 * config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
988 success model to instruction emitter.
989 (atomic_fetch_add<mode>): Ditto.
990 (atomic_exchange<mode>): Ditto.
991 (atomic_add<mode>): Ditto.
992 (atomic_sub<mode>): Ditto.
993 (atomic_<code><mode>): Ditto.
994 (*atomic_compare_and_swap_doubledi_pic): Ditto.
995 (atomic_compare_and_swap_single<mode>): Define and use argument
996 for success model.
997 (atomic_compare_and_swap_double<mode>): Ditto.
998 * configure.ac: Check if assembler support HLE prefixes.
999 * configure: Regenerate.
1000 * config.in: Ditto.
1001
68e72840
SB
10022012-05-02 Steven Bosscher <steven@gcc.gnu.org>
1003
1004 PR middle-end/53153
1005 * gimplify.c (preprocess_case_label_vec_for_gimple): New function,
1006 split out from ...
1007 (gimplify_switch_expr): ... here.
1008 * gimple.h (preprocess_case_label_vec_for_gimple): Add prototype.
1009 * tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): New function
1010 to clean up case labels with values outside the index type range.
1011 (simplify_gimple_switch): Call it if something changed.
1012 Remove strange and unnecessary assert.
1013
56099f00
RG
10142012-05-02 Richard Guenther <rguenther@suse.de>
1015
1016 * fold-const.c (div_if_zero_remainder): sizetypes no longer
1017 sign-extend.
1018 (int_const_binop_1): New worker for int_const_binop with
cef31f9c 1019 overflowable parameter. Pass it through to force_fit_type_double.
56099f00
RG
1020 (int_const_binop): Wrap around int_const_binop_1 with overflowable
1021 equal to one.
1022 (size_binop_loc): Call int_const_binop_1 with overflowable equal
1023 to minus one, forcing overflow detection for even unsigned types.
1024 (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
1025 (fold_binary_loc): Call try_move_mult_to_index with signed offset.
1026 * stor-layout.c (initialize_sizetypes): sizetypes no longer
1027 sign-extend.
1028 (layout_type): For zero-sized arrays ignore overflow on the
1029 size calculations.
1030 * tree-ssa-ccp.c (bit_value_unop_1): Likewise.
1031 (bit_value_binop_1): Likewise.
1032 * tree.c (double_int_to_tree): Likewise.
1033 (double_int_fits_to_tree_p): Likewise.
1034 (force_fit_type_double): Likewise.
1035 (host_integerp): Likewise.
1036 (int_fits_type_p): Likewise.
1037 * varasm.c (output_constructor_regular_field): Sign-extend the
1cbdef51
UB
1038 field-offset to cater for negative offsets produced by the Ada
1039 frontend.
56099f00
RG
1040 * omp-low.c (extract_omp_for_data): Convert the loop step to
1041 signed for pointer adjustments.
1042
10432012-05-02 Richard Guenther <rguenther@suse.de>
1044
1045 * tree.c (valid_constant_size_p): New function.
1046 * tree.h (valid_constant_size_p): Declare.
1047 * cfgexpand.c (expand_one_var): Adjust check for too large
1048 variables by using valid_constant_size_p.
1049 * varasm.c (assemble_variable): Likewise.
1050
1051 * c-decl.c (grokdeclarator): Properly check for sizes that
1052 cover more than half of the address-space.
1053
6aae324c
JJ
10542012-05-02 Jakub Jelinek <jakub@redhat.com>
1055
795e8869
JJ
1056 PR tree-optimization/53163
1057 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
1058 return value from compute_all_dependences.
1059
6aae324c
JJ
1060 PR rtl-optimization/53160
1061 * ree.c (combine_reaching_defs): Handle the case where cand->insn
1062 has been modified by ree pass already.
1063
a845a7f5
ILT
10642012-05-01 Ian Lance Taylor <iant@google.com>
1065
1066 PR c/37303
1067 * c-decl.c (build_compound_literal): Make the decl readonly if it
1068 an array of a readonly type.
1069 * gimplify.c (gimplify_compound_literal_expr): Add fallback
1070 parameter. Change all callers. If the decl is not addressable
1071 and is not an l-value, make it readonly.
1072
fb99ee9b
BS
10732012-05-01 Bernd Schmidt <bernds@codesourcery.com>
1074
1075 * ira.c (allocated_reg_info_size): New static variable.
1076 (expand_reg_info): Manage it. Call
1077 setup_preferred_alternate_classes_for_new_pseudos.
1078 (ira): Don't do it here. Remove local allocated_reg_info_size,
1079 set the global before calling find_moveable_pseudos.
1080 (find_moveable_pseudos): Call expand_reg_info rather than
1081 resize_reg_info.
1082
e8053cf5
RH
10832012-05-01 Richard Henderson <rth@redhat.com>
1084
1085 * common.opt (fsync-libcalls): New.
1086 * doc/invoke.texi: Document it.
1087 * optabs.c (init_sync_libfuncs): Honor it.
1088
af4ba423
KZ
10892012-05-01 Kenneth Zadeck <zadeck@naturalbridge.com>
1090 Richard Sandiford <r.sandiford@uk.ibm.com>
1091
ecfd6cec 1092 PR rtl-optimization/52543
af4ba423
KZ
1093 * Makefile.in (lower-subreg.o, target-globals.o): Depend on
1094 lower-subreg.h.
1095 * lower-subreg.h: New file.
1096 * target-globals.h (this_target_lower_subreg): Declare.
1097 (target_globals): Add lower_subreg;
1098 (restore_target_globals): Restore this_target_lower_subreg.
1099 * target-globals.c: Include it.
1100 (default_target_globals): Add default_target_lower_subreg.
1101 (save_target_globals): Initialize target_lower_subreg.
1102 * rtl.h (init_lower_subreg): Added declaration.
1103 * toplev.c (backend_init_target): Call initializer for lower-subreg
1104 pass.
1105 * lower-subreg.c (LOG_COSTS, FORCE_LOWERING): New macros.
1106 (default_target_lower_subreg): New variable.
1107 (this_target_lower_subreg): Likewise.
1108 (twice_word_mode, choices): New macros.
1109 (shift_cost, compute_splitting_shift, compute_costs)
1110 (init_lower_subreg): New functions.
1111 (resolve_simple_move): Add speed_p argument. Check choices.
1112 (find_pseudo_copy): Don't check the mode size here.
1113 (resolve_simple_move): Assert the mode size.
1114 (find_decomposable_shift_zext): Add speed_p argument and return
1115 a bool. Check choices.
1116 (resolve_shift_zext): Add comment.
1117 (dump_shift_choices, dump_choices): New functions.
1118 (decompose_multiword_subregs): Dump list of profitable
1119 transformations. Add code to skip non profitable transformations.
1120 Update calls to simple_move and find_decomposable_shift_zext.
1121
90911ab6 11222012-05-01 Ian Bolton <ian.bolton@arm.com>
1cbdef51
UB
1123 Sameera Deshpande <sameera.deshpande@arm.com>
1124 Greta Yorsh <greta.yorsh@arm.com>
90911ab6
IB
1125
1126 * config/arm/arm-protos.h (thumb_unexpanded_epilogue): Rename to...
1cbdef51 1127 (thumb1_unexpanded_epilogue): ...this.
90911ab6 1128 * config/arm/arm.c (thumb_unexpanded_epilogue): Rename to...
1cbdef51 1129 (thumb1_unexpanded_epilogue): ...this.
90911ab6 1130 * config/arm/arm.md (thumb_unexpanded_epilogue): Rename to...
1cbdef51 1131 (thumb1_unexpanded_epilogue): ...this.
90911ab6 1132
6302b84b
RE
11332012-05-01 Richard Earnshaw <rearnsha@arm.com>
1134
1135 * arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_DEFAULT): Avoid ifdef
1136 comparing enumeration values. Update comments.
1137
56ca756c
AM
11382012-05-01 Alan Modra <amodra@gmail.com>
1139
1140 PR target/53038
1141 * config/rs6000/rs6000.c (load_lr_save, restore_saved_lr,
1142 load_cr_save, add_crlr_cfa_restore): New functions.
1143 (rs6000_restore_saved_cr): Rename to..
1144 (restore_saved_cr): ..this. Add cfa_restore notes for cr.
1145 (rs6000_emit_epilogue): Use new functions. Adjust condition
1146 for emitting lr and cr cfa_restore. Emit cfa_restores for fp
1147 regs when using out-of-line restore only when shrink wrapping.
1148
036c0102
UB
11492012-04-30 Uros Bizjak <ubizjak@gmail.com>
1150
1151 PR middle-end/53136
1152 * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
1153 calls to cgraph_node_name in xstrdup.
1154 (ipa_make_edge_direct_to_target): Ditto.
1155 * cgraph.c (dump_cgraph_node): Ditto.
1156 * tree-sra.c (convert_callers_for_node): Ditto.
1157 * lto-symtab.c (lto_cgraph_replace_node): Ditto.
1158 * ipa-cp.c (perhaps_add_new_callers): Ditto.
1159 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
1160 (cgraph_materialize_all_clones): Ditto.
1161 * ipa-inline.c (report_inline_failed_reason): Ditto.
1162 (want_early_inline_function_p): Ditto.
1163 (edge_badness): Ditto.
1164 (update_edge_key): Ditto.
1165 (flatten_function): Ditto.
1166 (ipa_inline): Ditto.
1cbdef51 1167 (inline_always_inline_functions): Ditto.
036c0102
UB
1168 (early_inline_small_functions): Ditto.
1169
24b2a15a
UB
11702012-04-30 Uros Bizjak <ubizjak@gmail.com>
1171
1172 PR target/53141
1173 * config/i386/i386.md (*umul<mode><dwi>3_1): Switch places of
1174 constraints 0 and 1.
1175
65d630d4
JH
1176012-04-30 Jan Hubicka <jh@suse.cz>
1177
1178 * cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c
1179 (cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c
1180 (cgraph_add_to_same_comdat_group): Remove.
1181 (cgraph_add_asm_node): Move to cgraphunit.c.
1182 (cgraph_make_decl_local): Move to symtab.c
1183 (cgraph_make_node_local_1): Update.
1184 (cgraph_can_remove_if_no_direct_calls_and): Update.
1185 (used_from_object_file_p): Update.
1186 (resolution_used_from_other_file_p): Move to symtab.c
1187 (cgraph_used_from_object_file_p): move to symtab.c
1188 (verify_cgraph_node): Verify same comdat groups.
1189 * cgraph.h (cgraph_asm_node): Rename to ...
1190 (asm_node): ... this one.
1191 (cgraph_asm_nodes): Rename to ...
1192 (asm_nodes): ... this one.
1193 (symtab_add_to_same_comdat_group): New function.
1194 (symtab_dissolve_same_comdat_group_list): New function.
1195 (symtab_used_from_object_file_p): Declare.
1196 (symtab_make_decl_local): Declare.
1197 (cgraph_add_to_same_comdat_group): Remove.
1198 (cgraph_add_asm_node): Remove.
1199 (cgraph_used_from_object_file_p, varpool_used_from_object_file_p):
1200 Remove.
1201 (cgraph_finalize_compilation_unit): Rename to ...
1202 (finalize_compilation_unit): ... this one.
1203 (cgraph_optimize): Rename to ....
1204 (compile): ... this one.
1205 (add_asm_node): Declare.
1206 (fixup_same_cpp_alias_visibility): Declare.
1207 (cgraph_make_decl_local): Remove.
1208 (varpool_assemble_pending_decls): Rename to ...
1209 (varpool_output_variables): ... this one.
1210 (varpool_remove_unreferenced_decls): Remove.
1211 * ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups.
1212 (preserve_function_body_p): Make static.
24b2a15a 1213 * toplev.c (compile_file): Update comments; update.
65d630d4
JH
1214 * cgraphunit.c: Update comments.
1215 (cgraph_expand_all_functions): Rename to ...
1216 (expand_all_functions): ... this one; update.
1217 (cgraph_mark_functions_to_output): Rename to ...
1218 (mark_functions_to_output): ... this one; cleanup.
1219 (cgraph_output_pending_asms): Remove prototype.
1220 (asm_nodes, asm_last_node): New static vars.
1221 (cgraph_process_new_functions): Update.
1222 (cgraph_reset_node): Cleanup; add comment.
1223 (cgraph_add_new_function): Update.
1224 (cgraph_output_pending_asms): Rename to ...
1225 (output_asm_statements): ... this one.
1226 (add_asm_node): New function.
1227 (fixup_same_cpp_alias_visibility): New function based on code
1228 in cgraph_analyze_function.
1229 (cgraph_analyze_function): Use it.
1230 (cgraph_order_sort): Update.
1231 (cgraph_output_in_order): Update.
1232 (cgraph_function_versioning): Update.
1233 (cgraph_optimize): Rename to ...
1234 (compile): ... this one; initialize streamer hooks here.
1235 (cgraph_finalize_compilation_unit): Rename to ...
1236 (finalize_compilation_unit): ... this one; do not initialize streamer
1237 hook here.
1238 * lto-streamer-out.c (lto_output_toplevel_asms): Update.
1239 * dwarf2out.c: Update ocmment.
1240 * optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group.
1241 * method.c (use_thunk): Likewise.
1242 * semantics.c (maybe_add_lambda_conv_op): Likewise.
24b2a15a 1243 * decl2.c (maybe_emit_vtables): Likewise.
65d630d4
JH
1244 (cp_write_global_declarations): Use finalize_compilation_unit.
1245 * parser.c (cp_parser_asm_definition): Use add_asm_node.
1246 * lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node
24b2a15a
UB
1247 * c-decl.c (c_write_global_declarations): Use
1248 finalize_compilation_unit.
65d630d4
JH
1249 * langhooks.c (write_global_declarations): Update.
1250 * ipa.c (cgraph_externally_visible_p): Update.
1251 (dissolve_same_comdat_group_list): Remove.
1252 (function_and_variable_visibility): Update.
1253 * symtab.c: Inlcude lto-streamer.h and rtl.h
1254 (ld_plugin_symbol_resolution_names): New.
1255 (symtab_add_to_same_comdat_group): New.
1256 (symtab_dissolve_same_comdat_group_list): New.
1257 (resolution_used_from_other_file_p): Move here from cgraph.c
1258 (symtab_used_from_object_file_p): New.
1259 (symtab_make_decl_local): New.
1260 * passes.c (register_pass): Update comments.
1261 * c-parser.c (c_parser_asm_definition): Update.
24b2a15a
UB
1262 * varpool.c (varpool_analyze_node): Use
1263 fixup_same_cpp_alias_visibility.
65d630d4
JH
1264 (varpool_remove_unreferenced_decls): Make static.
1265 (varpool_assemble_pending_decls): Rename to ...
1266 (varpool_output_variables): ... this one; call
1267 varpool_remove_unreferenced_decls.
1268 (varpool_used_from_object_file_p): Remove.
1269
7edaa4d2
MG
12702012-04-30 Marc Glisse <marc.glisse@inria.fr>
1271
1272 PR c++/51033
1273 * c-typeck.c (build_array_ref): Call
1274 convert_vector_to_pointer_for_subscript.
1275 * doc/extend.texi (Vector Extensions): Subscripting not just for C.
1276
f45d8c45
UB
12772012-04-30 Uros Bizjak <ubizjak@gmail.com>
1278
1279 * config/i386/i386.md (and<mode>3): Change runtime operand mode checks
1280 to compile-time "mode == <MODE>mode" checks.
1281 (and splitter): Ditto.
1282
a7b8107f
RH
12832012-04-30 Richard Henderson <rth@redhat.com>
1284
1285 * config/arm/arm.md (UNSPEC_LL): New.
1286 * config/arm/sync.md (atomic_loaddi, atomic_loaddi_1): New.
1287 (arm_load_exclusivedi): Use %H0.
1288
85dd5559
JM
12892012-04-30 Jason Merrill <jason@redhat.com>
1290
1291 * dwarf2out.c (comdat_symbol_id): Add const.
1292 (union die_symbol_or_type_node): Add const to die_symbol.
1293 (output_die_symbol, output_die, output_comp_unit): Adjust.
1294
b8fb55d1
AS
12952012-04-30 Andrew Stubbs <ams@codesourcery.com>
1296
1297 * config/arm/arm.md (negdi2): Use gen_negdi2_neon.
1298 * config/arm/neon.md (negdi2_neon): New insn.
1299 Also add splitters for core and NEON registers.
1300
00a3a76a
AS
13012012-04-30 Andrew Stubbs <ams@codesourcery.com>
1302
1303 * config/arm/arm.c (neon_valid_immediate): Allow const_int.
1304 (arm_print_operand): Add 'x' format.
1305 * config/arm/constraints.md (Dn): Allow const_int.
1306 * config/arm/neon.md (neon_mov<mode>): Use VDX to allow DImode.
1307 Use 'x' format to print constants.
1308 * config/arm/predicates.md (imm_for_neon_mov_operand): Allow const_int.
1309 * config/arm/vfp.md (movdi_vfp): Disable for const_int when neon
1310 is enabled.
1311 (movdi_vfp_cortexa8): Likewise.
1312
84ba0835
RE
13132012-04-30 Ian Bolton <ian.bolton@arm.com>
1314 Sameera Deshpande <sameera.deshpande@arm.com>
1315 Greta Yorsh <greta.yorsh@arm.com>
5991e156
IB
1316
1317 * config/arm/arm-protos.h (ldm_stm_operation_p): New declaration.
1318 * config/arm/arm.c (ldm_stm_operation_p): New function.
1319 * config/arm/predicates.md (load_multiple_operation): Update predicate.
1320 (store_multiple_operation): Likewise.
1321
fb40241d
IB
1322 * config/arm/arm-protos.h (ldm_stm_operation_p): New parameters.
1323 * config/arm/arm.c (ldm_stm_operation_p): New parameters.
1324 * config/arm/predicates.md (load_multiple_operation): Add arguments.
f45d8c45 1325 (store_multiple_operation): Likewise.
fb40241d 1326
d55d2c84
UB
13272012-04-30 Uros Bizjak <ubizjak@gmail.com>
1328
1329 * config/i386/i386.md (and<mode>3): Expand masking operations with
1330 0xff, 0xffff or 0xffffffff immediates to corresponding zero_extend RTX.
1331 (and splitter): Split to DImode zero_extend RTX for DImode operand[0].
1332
b9c8da34
DS
13332012-04-30 Dodji Seketeli <dodji@redhat.com>
1334
1335 Add -Wvarargs option
1336 * builtins.c (fold_builtin_next_arg): Use OPT_Wvarargs as an
d55d2c84 1337 argument for the various warning_at calls.
b9c8da34
DS
1338 * docs/invoke.texi: Update the documentation.
1339
163fa1eb
DS
13402012-04-30 Dodji Seketeli <dodji@redhat.com>
1341
51fce2d3
DS
1342 Switch -ftrack-macro-expansion=2 on by default.
1343 * docs/cppopts.texi: Adjust for enabling -ftrack-macro-expansion=2
1344 by default.
1345
34c88790
DS
1346 Fix va_start related location
1347 * builtins.c (fold_builtin_next_arg): Unwinds to the first
1348 location in real source code.
1349
70dc395a
DS
1350 Make conversion warnings work on NULL with -ftrack-macro-expansion
1351 * input.h (expansion_point_location_if_in_system_header): Declare
1352 new function.
d55d2c84 1353 * input.c (expansion_point_location_if_in_system_header): Define it.
70dc395a 1354
2d48bdca 1355 Fix -Wuninitialized for -ftrack-macro-expansion
d55d2c84
UB
1356 * tree-ssa.c (warn_uninit): Use the spelling location of the variable
1357 declaration. Use linemap_location_before_p for source locations.
2d48bdca 1358
c4ca1a09
DS
1359 Strip "<built-in>" loc from displayed expansion context
1360 * input.c (expand_location_1): When expanding to spelling location
1361 in a context of a macro expansion, skip reserved system header
1362 locations. Update comments. * tree-diagnostic.c
1363 (maybe_unwind_expanded_macro_loc): Likewise.
1364
7eb918cc
DS
1365 Make expand_location resolve to locus in main source file
1366 * input.c (expand_location_1): New. Takes a parameter to choose
1367 whether to resolve the location to spelling or expansion point.
1368 Was factorized from ...
1369 (expand_location): ... here.
1370 (expand_location_to_spelling_point): New. Implemented in terms of
1371 expand_location_1.
1372 * diagnostic.c (diagnostic_build_prefix): Use the new
1373 expand_location_to_spelling_point instead of expand_location.
1374
163fa1eb
DS
1375 Fix PCH crash on GTYed pointer-to-scalar field of a struct
1376 * gengtype.c (write_types_process_field): Force second argument of
1377 the call to the PCH object hierarchy walker to be 'x'.
1378
bb358f1c
EB
13792012-04-30 Eric Botcazou <ebotcazou@adacore.com>
1380
1381 * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
1382 predicate to discriminate types.
1383
90137d8f
MLI
13842012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1385
1386 * doc/invoke.texi (Wmissing-format-attribute): Document as an
1387 alias of Wsuggest-attribute=format.
1388 * c-typeck.c (convert_for_assignment): Replace
1389 Wmissing-format-attribute with Wsuggest-attribute=format.
1390 (digest_init): Likewise.
1391
94ee6979
MLI
13922012-04-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1393
d55d2c84
UB
1394 * opts.c (finish_options): Do not handle -Wmissing-noreturn here.
1395 * common.opt (Wmissing-noreturn): Alias of
1396 -Wsuggest-attribute=noreturn.
94ee6979 1397
ff2ca1bc
HPN
13982012-04-29 Hans-Peter Nilsson <hp@axis.com>
1399
1400 PR target/53156
1401 * config/cris/cris.md (andqu): New peephole2.
1402 (andu): Tweak head comment.
1403
fa06ad0d
JR
14042012-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
1405 Steven Bosscher <steven@gcc.gnu.org>
1406 Maxim Kuvyrkov <maxim@codesourcery.com>
1407
1408 PR tree-optimization/38785
1409 * common.opt (ftree-partial-pre): New option.
1410 * doc/invoke.texi: Document it.
1411 * opts.c (default_options_table): Initialize flag_tree_partial_pre.
1412 * tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will
1413 benefit speed path.
1414 (execute_pre): Use flag_tree_partial_pre.
1415
5f5f36f9
JDA
14162012-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1417
1418 PR target/52999
1419 * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
1420 in constant pool.
1421
7f5f5f98
OW
14222012-04-27 Ollie Wild <aaw@google.com>
1423
1424 * doc/invoke.texi (Wliteral-suffix): Document new option.
1425
11ec770e
TT
14262012-04-27 Tom Tromey <tromey@redhat.com>
1427
1428 * dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name.
1429 (dwarf_tag_name): Use get_DW_TAG_name.
1430 (dwarf_attr_name): Use get_DW_AT_name.
1431 (dwarf_form_name): Use get_DW_FORM_name.
1432 * dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name.
1433
809c929c
PB
14342012-04-27 Paolo Bonzini <bonzini@gnu.org>
1435
d55d2c84
UB
1436 * tree-ssa-phiopt.c (conditional_replacement): Replace PHIs whose
1437 arguments are -1 and 0, by negating the result of the conditional.
809c929c 1438
d5548709
PB
14392012-04-27 Paolo Bonzini <bonzini@gnu.org>
1440
1441 PR target/53138
1442 * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
1443
209be553
RG
14442012-04-27 Richard Guenther <rguenther@suse.de>
1445
1446 * tree-flow.h (is_hidden_global_store): Remove.
1447 * tree-ssa-sink.c (is_hidden_global_store): Likewise.
1448 * tree-ssa-alias.h (ref_may_alias_global_p): Declare.
1449 (stmt_may_clobber_global_p): Likewise.
1450 * tree-ssa-alias.c (ref_may_alias_global_p): New function.
1451 (stmt_may_clobber_global_p): Likewise.
1452 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Call
1453 stmt_may_clobber_global_p.
1454 * tree-ssa-dse.c (dse_possible_dead_store_p): Likewise.
1455
886cd84f
SB
14562012-04-27 Steven Bosscher <steven@gcc.gnu.org>
1457
c813039d
SB
1458 * cfg.c (disconnect_src): Do df_mark_solutions_dirty in the right
1459 place.
1460
886cd84f
SB
1461 * tree-switch-conversion.c (struct switch_conv_info): Add range_max,
1462 reorganize some fields and update comments. Rename bit_test_uniq
1463 and bit_test_count to uniq resp. count. Remove bit_test_bb.
1464 (collect_switch_conv_info): New function, collects info about a
1465 GIMPLE_SWITCH into a struct switch_conv_info.
1466 (check_range): Simplify to use pre-recorded info. Fix think-o in
1467 range-branch ratio check.
1468 (check_process_case): Remove function.
1469 (check_all_empty_except_final): New function, verifies that all
1470 non-final basic blocks are empty.
1471 (process_switch): Simplify to use pre-recorded info. Call
1472 collect_switch_conv_info to do that. Assert that degenerate switch
1473 statements have been cleaned up.
1474
07ab2b1b
MG
14752012-04-27 Marc Glisse <marc.glisse@inria.fr>
1476
1477 PR middle-end/27139
1478 * tree-ssa-forwprop.c (combine_conversions): Handle INT->FP->INT.
1479
ae933128
MLI
14802012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
1481
1482 PR c/53130
1483 * c-typeck.c (pop_init_level): Use %qD instead of %qT.
1484
00115921
TV
14852012-04-27 Tom de Vries <tom@codesourcery.com>
1486
1487 PR tree-optimization/51879
1488 * tree-ssa-sccvn.h (struct vn_reference_s): Add result_vdef field.
1489 * tree-ssa-sccvn.c (mark_use_processed): New function, factored out
1490 of ...
1491 (defs_to_varying): ... here. Don't set use_processed.
1492 (visit_reference_op_call): Handle gimple_vdef.
1493 Handle case that lhs is NULL_TREE.
1494 (visit_use): Use mark_use_processed. Handle calls with side-effect
1495 using visit_reference_op_call.
1496
fd59643c
RS
14972012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
1498
1499 * sched-deps.c (fixup_sched_groups): Rename to...
1500 (chain_to_prev_insn): ...this.
1501 (chain_to_prev_insn_p): New function.
1502 (deps_analyze_insn): Use it instead of SCHED_GROUP_P.
1503
7a1aca9c
RS
15042012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
1505
1506 * sched-int.h (_haifa_insn_data): Move priority_status.
1507 Add model_index.
1508 (INSN_MODEL_INDEX): New macro.
1509 * haifa-sched.c (insn_delay): New function.
1510 (sched_regno_pressure_class): Update commentary.
1511 (mark_regno_birth_or_death): Pass the liveness bitmap and
1512 pressure array as arguments, instead of using curr_reg_live and
1513 curr_reg_pressure. Only update the pressure if the bit in the
1514 liveness set has changed.
1515 (initiate_reg_pressure_info): Always trust the live-in set for
1516 SCHED_PRESSURE_MODEL.
1517 (initiate_bb_reg_pressure_info): Update call to
1518 mark_regno_birth_or_death.
1519 (dep_list_size): Take the list as argument.
1520 (calculate_reg_deaths): New function, extracted from...
1521 (setup_insn_reg_pressure_info): ...here.
1522 (MODEL_BAR): New macro.
1523 (model_pressure_data, model_insn_info, model_pressure_limit)
1524 (model_pressure_group): New structures.
1525 (model_schedule, model_worklist, model_insns, model_num_insns)
1526 (model_curr_point, model_before_pressure, model_next_priority):
1527 New variables.
1528 (MODEL_PRESSURE_DATA, MODEL_MAX_PRESSURE, MODEL_REF_PRESSURE)
1529 (MODEL_INSN_INFO, MODEL_INSN): New macros.
1530 (model_index, model_update_limit_points_in_group): New functions.
1531 (model_update_limit_points, model_last_use_except): Likewise.
1532 (model_start_update_pressure, model_update_pressure): Likewise.
1533 (model_recompute, model_spill_cost, model_excess_group_cost): Likewise.
1534 (model_excess_cost, model_dump_pressure_points): Likewise.
1535 (model_set_excess_costs): Likewise.
1536 (rank_for_schedule): Extend SCHED_PRIORITY_WEIGHTED ordering to
1537 SCHED_PRIORITY_MODEL. Use insn_delay. Use the order in the model
1538 schedule as an alternative tie-breaker. Update the call to
1539 dep_list_size.
1540 (ready_sort): Call model_set_excess_costs.
1541 (update_register_pressure): Update call to mark_regno_birth_or_death.
1542 Rely on that function to check liveness rather than doing it here.
1543 (model_classify_pressure, model_order_p, model_add_to_worklist_at)
1544 (model_remove_from_worklist, model_add_to_worklist, model_promote_insn)
1545 (model_add_to_schedule, model_analyze_insns, model_init_pressure_group)
1546 (model_record_pressure, model_record_pressures): New functions.
1547 (model_record_final_pressures, model_add_successors_to_worklist)
1548 (model_promote_predecessors, model_choose_insn): Likewise.
1549 (model_reset_queue_indices, model_dump_pressure_summary): Likewise.
1550 (model_start_schedule, model_finalize_pressure_group): Likewise.
1551 (model_end_schedule): Likewise.
1552 (schedule_insn): Say when we're scheduling the next instruction
1553 in the model schedule.
1554 (schedule_insn): Handle SCHED_PRESSURE_MODEL.
1555 (queue_to_ready): Do not add instructions that are
1556 MAX_SCHED_READY_INSNS beyond the current point of the model schedule.
1557 Always allow the next instruction in the model schedule to be added.
1558 (debug_ready_list): Print the INSN_REG_PRESSURE_EXCESS_COST_CHANGE
1559 and delay for SCHED_PRESSURE_MODEL too.
1560 (prune_ready_list): Extend SCHED_PRIORITY_WEIGHTED handling to
1561 SCHED_PRIORITY_MODEL, but also take the DFA into account.
1562 (schedule_block): Call model_start_schedule and model_end_schedule.
1563 Extend SCHED_PRIORITY_WEIGHTED stall handling to SCHED_PRIORITY_MODEL.
1564 (sched_init): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
1565 to SCHED_PRESSURE_MODEL, but don't allocate saved_reg_live or
1566 region_ref_regs.
1567 (sched_finish): Update accordingly.
1568 (fix_tick_ready): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
1569 to SCHED_PRESSURE_MODEL.
1570 (add_jump_dependencies): Update call to dep_list_size.
1571 (haifa_finish_h_i_d): Fix leak of max_reg_pressure.
1572 (haifa_init_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE handling
1573 to SCHED_PRESSURE_MODEL.
1574 * sched-deps.c (init_insn_reg_pressure_info): Likewise, but don't
1575 allocate INSN_MAX_REG_PRESSURE for SCHED_PRESSURE_MODEL.
1576 (sched_analyze_insn): Extend INSN_REG_PRESSURE_EXCESS_COST_CHANGE
1577 handling to SCHED_PRESSURE_MODEL.
1578
60867e8c
RS
15792012-04-26 Richard Sandiford <richard.sandiford@linaro.org>
1580
1581 * common.opt (fsched-pressure-algorithm=): New option.
1582 * flag-types.h (sched_pressure_algorithm): New enum.
1583 * sched-int.h (sched_pressure_p): Replace with...
1584 (sched_pressure): ...this new variable.
1585 * haifa-sched.c (sched_pressure_p): Replace with...
1586 (sched_pressure): ...this new variable.
1587 (sched_regno_pressure_class, rank_for_schedule, ready_sort)
1588 (update_reg_and_insn_max_reg_pressure, schedule_insn)
1589 (debug_ready_list, prune_ready_list, schedule_block, sched_init)
1590 (sched_finish, fix_tick_ready, haifa_init_insn): Update accordingly.
1591 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
1592 (sched_analyze_insn): Likewise.
1593 * sched-rgn.c (schedule_region): Likewise.
1594 * config/m68k/m68k.c (m68k_sched_variable_issue): Likewise.
1595
81c082ec
BS
15962012-04-26 Bernd Schmidt <bernds@codesourcery.com>
1597
1598 * PR middle-end/52997
1599 * ira.c (find_moveable_pseudos): Call resize_reg_info.
1600
e90247f8
BS
1601 PR middle-end/52940
1602 * machmode.h (CLASS_HAS_WIDER_MODES_P): True for MODE_PARTIAL_INT.
1603 * expr.c (convert_move): Honor unsignedp when extending partial int
1604 modes.
1605 * genmodes.c (complete_mode): Don't clear component field of partial
1606 int modes.
1607 (emit_mode_inner): Don't emit it however.
1608 (calc_wider_mode): Partial int modes widen to their component.
1609
afa3ed85
DM
16102012-04-26 David S. Miller <davem@davemloft.net>
1611
851634c7
DM
1612 * config/sparc/niagara4.md: New file.
1613 * config/sparc/sparc.md: Include it.
1614 * config/sparc/sparc.c (niagara4_costs): New processor costs.
1615 (sparc_option_override): Use it.
1616 (sparc_use_sched_lookahead): Return 2 for niagara4.
1617 (sparc_issue_rate): Likewise.
1618
afa3ed85
DM
1619 * config/sparc/sparc.md (attr type): Delete 'fgm_cmp'.
1620 (fpack16_vis, fpackfix_vis, fpack32_vis): Set type to fgm_pack.
1621 (fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
d55d2c84 1622 fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis): Set type to fgm_mul.
afa3ed85
DM
1623 (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis,
1624 alignaddrldi_vis): Set type to gsr.
1625 (pdist_vis, pdistn<mode>_vis): Set type to fgm_pdsit.
1626 (fcmp<code><GCM:gcm_name><P:mode>_vis, cmask8<P:mode>_vis,
1627 cmask16<P:mode>_vis, cmask32<P:mode>_vis, fchksm16_vis,
1628 v<vis3_shift_patname><mode>3, fmean16_vis,
1629 fp<plusminus_insn>64_vis, <vis3_addsub_ss_patname><mode>3,
1630 fucmp<code>8<P:mode>_vis): Set type to fga.
1631 * config/sparc/ultra1_2.md: Remove refrences to fgm_cmp.
1632 * config/sparc/niagara.md: Likewise.
1633 * config/sparc/niagara2.md: Likewise.
1634 * config/sparc/ultra3.md: Likewise, and fix type matching for
1635 us3_ialuX reservation.
1636
b5068425
AK
16372012-04-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1638
1639 * reload.c (find_reloads): Change the loop nesting when trying an
1640 alternative with swapped operands.
1641
1d72e96f
MLI
16422012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1643
1644 * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix
1645 comment. Delete unused parameter first_exp_point_map.
1646 (virt_loc_aware_diagnostic_finalizer): Update call.
1647
c7121189
MH
16482012-04-26 Michael Hope <michael.hope@linaro.org>
1649 Richard Earnshaw <rearnsha@arm.com>
1650
1651 * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
1652 (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
1653 (GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
1654 (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
1655
5ddecff9
ST
16562012-04-25 Sriraman Tallam <tmsriram@google.com>
1657
1658 * doc/extend.texi: Document avx2 support.
1659 * config/i386/i386.c (fold_builtin_cpu): Add avx2.
1660
d7173593
HPN
16612012-04-26 Hans-Peter Nilsson <hp@axis.com>
1662
1663 PR target/53120
1664 * config/cris/cris.md ("*andhi_lowpart_v32")
1665 ("*andqi_lowpart_v32"): Change first input-only operand from
1666 a (match_operand ...) to (match_dup 0). Drop alternatives with
1667 const_int-matching constraints for redundancy.
1668 ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto. Drop
1669 three-operand alternative.
1670
c1d40097
JJ
16712012-04-25 Jakub Jelinek <jakub@redhat.com>
1672
1673 PR target/53110
1674 * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
1675 instead expand it as zero extension.
1676
ff5f00c3
L
16772012-04-25 H.J. Lu <hongjiu.lu@intel.com>
1678
1679 PR debug/52857
d55d2c84 1680 * dwarf2out.c (dbx_reg_number): Assert return value != INVALID_REGNUM.
ff5f00c3 1681
98095aa3
JJ
16822012-04-25 Jakub Jelinek <jakub@redhat.com>
1683
1684 * common.opt (flag_debug_types_section): Default to 0.
1685 (dwarf_version): Default to 4.
1686 (dwarf_record_gcc_switches): Default to 1.
1687 (dwarf_strict): Default to 0.
1688 * toplev.c (process_options): Don't handle dwarf_strict
1689 or dwarf_version here.
1690 * config/vxworks.c (vxworks_override_options): Don't
1691 test whether dwarf_strict or dwarf_version are negative,
1692 instead test !global_options_set.x_dwarf_*.
1693 * config/darwin.c (darwin_override_options): Default to
1694 dwarf_version 2.
1695 * doc/invoke.texi: Note that -gdwarf-4, -grecord-gcc-switches
1696 and -fno-debug-types-section are now the default.
1697
9c8305f8
JH
16982012-04-25 Jan Hubicka <jh@suse.cz>
1699
1700 * cgraphunit.c: Update toplevel comment.
1701 (tree_rest_of_compilation): Merge into cgraph_expand_function.
1702 (cgraph_analyze_function): Make static.
1703 (cgraph_decide_is_function_needed): Make static.
1704 (cgraph_add_new_function): Use expand_function instead of
1705 rest_of_compilation.
1706 (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
1707 verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
1708 Move to cgraph.c
1709 (cgraph_inline_p): Remove.
1710 (cgraph_preserve_function_body_p): Move to ipa-inline-transform.
1711 (init_cgraph): Add comment.
1712 * cgraphbuild.c (record_reference, mark_address, mark_load,
1713 mark_store): Do not call analyze_expr hook.
1714 * cgraph.c: Update toplevel comment.
1715 (clone_of_p, verify_edge_count_and_frequency, cgraph_debug_gimple_stmt,
1716 verify_edge_corresponds_to_fndecl, verify_cgraph_node, verify_cgraph):
1717 Move fere from cgraphunit.c
1718 (cgraph_mark_force_output_node): Move to cgraph.h
1719 * cgraph.h: Reorder so the comments match the function placement.
1720 (cgraph_analyze_function, cgraph_decide_is_function_needed): Remove.
1721 (cgraph_mark_force_output_node): Move here from cgraph.c
1722 * tree.c (free_lang_data): Do not clear analyze_expr hook.
1723 * ipa-inline-transform.c (preserve_function_body_p): New function.
1724 (inline_transform): Update.
1725 * langhooks.c (lhd_callgraph_analyze_expr): Remove.
1726 * langhooks.h (lang_hooks_for_callgraph): Remove.
1727 (lang_hooks): Remove callgraph.
1728 * tree-inline.c (expand_call_inline): Do not use cgraph_inline_p.
1729 * varpool.c: Remove out of date comment.
1730 * langhooks-def.h (lhd_callgraph_analyze_expr): Remove.
1731 (LANG_HOOKS_CALLGRAPH_ANALYZE_EXPR): Remove.
1732
838ff415
JH
17332012-04-25 Jan Hubicka <jh@suse.cz>
1734
d55d2c84
UB
1735 PR middle-end/53089
1736 * cgraphunit.c (referred_to_p): Move ahead in file to avoid
1737 forward declaration.
838ff415
JH
1738 (cgraph_finalize_function): Finalize them here.
1739 * symtab.c (dump_symtab): Dump ctors and dtors.
1740
0ea62d93
JJ
17412012-04-25 Jakub Jelinek <jakub@redhat.com>
1742
f1cc9589
JJ
1743 PR middle-end/52979
1744 * stor-layout.c (get_best_mode): Don't return mode with bitsize
1745 larger than maxbits. Don't compute maxbits modulo align.
1746 Also check that unit bytes long store at bitpos / unit * unit
1747 doesn't affect bits beyond bitregion_end.
1748 * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
d55d2c84 1749 would not fit into bitregion_start ... bitregion_end + 1 bit region.
f1cc9589
JJ
1750 (store_split_bit_field): Decrease unit close to end of bitregion_end
1751 if access is restricted in order to avoid mutual recursion.
1752
0ea62d93
JJ
1753 PR tree-optimization/53058
1754 * double-int.h (double_int_max_value, double_int_min_value): New
1755 prototypes.
1756 * double-int.c (double_int_max_value, double_int_min_value): New
1757 functions.
d55d2c84
UB
1758 * tree-vrp.c (register_edge_assert_for_2): Compare mask for LE_EXPR
1759 or GT_EXPR with double_int_max_value instead of double_int_mask.
0ea62d93 1760
d68d56b5
RG
17612012-04-25 Richard Guenther <rguenther@suse.de>
1762
1763 * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
1764 * tree-vect-loop.c (vect_transform_loop): Adjust.
1765 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Record
1766 the maximum number of iterations for the epilogue loop.
d55d2c84 1767 (vect_loop_versioning): Remove case re-using the peeled epilogue loop.
d68d56b5 1768
fdce1719
JJ
17692012-04-25 Jakub Jelinek <jakub@redhat.com>
1770
1771 PR c/52880
1772 * c-typeck.c (set_nonincremental_init,
1773 set_nonincremental_init_from_string): Pass true instead of false
1774 as IMPLICIT to add_pending_init.
1775
32397f22
MLI
17762012-04-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
1777
1778 * c-typeck.c (pop_init_level): Improve diagnostics.
1779
ad1d9a50
UB
17802012-04-25 Uros Bizjak <ubizjak@gmail.com>
1781
1782 * compare-elim.c (try_eliminate_compare): Also handle operands with
1783 implicit extensions.
1784
b427dd7a
AM
17852012-04-25 Alan Modra <amodra@gmail.com>
1786
1787 * config/rs6000/rs6000 (SAVE_INLINE_VRS, REST_INLINE_VRS,
1788 V_SAVE_INLINE, SAVRES_LR, SAVRES_SAVE, SAVRES_REG,
1789 SAVRES_GPR, SAVRES_FPR, SAVRES_VR): Define.
1790 (no_global_regs_above): Delete.
1791 (no_global_regs): New function.
1792 (rs6000_savres_strategy): Handle vector regs. Use proper lr_save_p
1793 value for load multiple test.
1794 (savres_routine_syms): Increase size.
1795 (rs6000_savres_routine_name, rs6000_savres_routine_sym,
1796 ptr_regno_for_savres, rs6000_emit_savres_rtx): Pass in int selector
1797 rather than a number of boolean flags. Update all callers.
1798 (rs6000_savres_routine_name): Generate vector save/restore names.
1799 (rs6000_savres_routine_sym): Handle vector regs. Delete forward decl.
1800 (ptr_regno_for_savres, rs6000_emit_savres_rtx): Likewise.
1801 (rs6000_emit_prologue): Delete saving_FPRs_inline, saving_GPRs_inline
1802 and using_store_multiple. Expand uses. Don't always use r11 as
1803 frame reg when needed for out-of-line saves. Set up initial offset
1804 for out-of-line vector saves when buying stack frame. Handle pointer
1805 reg setup for out-of-line fp save. Emit call to out-of-line vector
1806 save function. Choose r11 or r12 for vrsave reg when available for
1807 better scheduling.
1808 (rs6000_output_function_prologue): Don't emit .extern for ELF.
1809 (rs6000_emit_epilogue): Choose a better frame reg when restoring
1810 from back-chain to suit out-of-line vector restore functions. Emit
1811 call to out-of-line vector restore function. Adjust register used
1812 for cr restore. Tweak pointer register setup for gpr restore.
1813 * config/rs6000/rs6000.h (FIRST_SAVED_GP_REGNO): Take into account
1814 FIXED_R13.
1815 * config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Simplify.
1816 (V_SAVE_INLINE): Define.
1817 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*): New insns.
1818
1bf7c2a7
AM
18192012-04-25 Alan Modra <amodra@gmail.com>
1820
1821 * config/rs6000/rs6000.c (rs6000_savres_strategy): Allow
1822 out-of-line save/restore for large frames. Don't disable
1823 out-of-line saves on ABI_AIX when using static chain reg.
1824 (rs6000_emit_prologue): Adjust cr_save_regno on ABI_AIX to not
1825 clobber static chain reg, and tweak for out-of-line gpr saves
1826 that use r1.
1827
c344e265
AM
18282012-04-25 Alan Modra <amodra@gmail.com>
1829
1830 * config/rs6000/rs6000.c (START_USE, END_USE, NOT_INUSE): Define.
1831 (rs6000_emit_prologue): Use the above to catch register overlap.
1832
544055ae
AM
18332012-04-25 Alan Modra <amodra@gmail.com>
1834
1835 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Delete forward
1836 decl. Move logic selecting update reg to callers. Update all callers.
1837 (rs6000_emit_allocate_stack): Add copy_off param.
1838 (emit_frame_save): Don't handle reg+reg addressing.
1839 (ptr_regno_for_savres): New function, extracted from..
1840 (rs6000_emit_savres_rtx): ..here. Add lr_offset param.
1841 (rs6000_emit_prologue): Generate frame_ptr_rtx as we need it.
1842 Set frame_reg_rtx to r11 whenever r11 is needed, and merge
1843 frame offset adjustment for out-of-line save with copy from sp.
1844 Simplify condition controlling whether cr is saved early or
1845 late. Use ptr_regno_for_savres to verify correct reg is set
1846 up for out-of-line saves. Pass the actual pointer reg used to
1847 rs6000_emit_savres_rtx so rtl matches insns in out-of-line
1848 function. Rearrange spe vars so code is similar to that
1849 elsewhere in this function. Don't update frame_off when spe
1850 save code will restore r11. Use emit_frame_save for spe and
1851 gpr saves. Consolidate darwin out-of-line gpr setup with that
1852 for other abis. Don't assume frame_offset is zero and frame
1853 reg is sp when setting up altivec reg saves, and calculate
1854 exact offset requirement.
1855 (rs6000_emit_epilogue): Use HOST_WIDE_INT for frame_off. Tidy
1856 spe restore code. Consolidate darwin out-of-line gpr setup
1857 with that for other abis.
1858
471df90f
AM
18592012-04-25 Alan Modra <amodra@gmail.com>
1860
1861 * config/rs6000/rs6000.c (rs6000_frame_related): Don't emit a
1862 REG_FRAME_RELATED_EXPR note when the instruction exactly matches
1863 the replacement.
1864 (emit_frame_save): Delete frame_ptr param. Rename total_size to
1865 frame_reg_to_sp.
1866 (rs6000_emit_prologue): Add sp_off. Update rs6000_frame_related
1867 and emit_frame_save calls. Cope with possibly missing note.
1868
792317cc
ST
18692012-04-24 Sriraman Tallam <tmsriram@google.com>
1870
1871 * config/i386/i386.c (build_processor_model_struct): New function.
1872 (make_var_decl): New function.
1873 (fold_builtin_cpu): New function.
1874 (ix86_fold_builtin): New function.
1875 (make_cpu_type_builtin): New function.
1876 (ix86_init_platform_type_builtins): New function.
1877 (ix86_expand_builtin): Expand new builtins by folding them.
1878 (ix86_init_builtins): Make new builtins to detect CPU type.
1879 (TARGET_FOLD_BUILTIN): New macro.
1880 (IX86_BUILTIN_CPU_INIT): New enum value.
1881 (IX86_BUILTIN_CPU_IS): New enum value.
1882 (IX86_BUILTIN_CPU_SUPPORTS): New enum value.
1883 * config/i386/i386-builtin-types.def: New function type.
1884 * testsuite/gcc.target/builtin_target.c: New testcase.
1885 * doc/extend.texi: Document builtins.
1886
7a9cf7e9
OH
18872012-04-24 Olivier Hainque <hainque@adacore.com>
1888
1889 * common.opt (gdwarf-): Initialize dwarf_version to -1 instead of 2.
1890 * toplev.c (process_options): Default to dwarf_version 2.
1891 * config/vxworks.c (vxworks_override_options): Default to strict-dwarf
1892 and dwarf_version 2.
1893
21e41715
MLI
18942012-04-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1895
1896 * tree-pretty-print.h (default_tree_printer): Do not declare.
1897 * tree-diagnostic.c: Include tree-pretty-print.h, tree-pass.h and
1898 intl.h.
1899 (default_tree_diagnostic_starter): Make static.
1900 (default_tree_printer): Move to here. Make static.
1901 (tree_diagnostics_defaults): New.
1902 * tree-diagnostic.h (default_tree_diagnostic_starter): Do not declare.
1903 * tree.c (free_lang_data): Use tree_diagnostics_defaults.
1904 * toplev.c: Do not include tree-pass.h.
1905 (default_tree_printer): Move from here.
1906 (general_init): Use tree_diagnostics_defaults.
1907
3eab78f4
CF
19082012-04-24 Chao-ying Fu <fu@mips.com>
1909
1910 * config.gcc (mips64*-*-linux*): Append mips/linux-common.h to tm_file.
1911 (mips*-*-linux*): Append mips/linux-common.h to tm_file.
1912 * config/mips/gnu-user.h
1913 (SUBTARGET_CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC directly.
1914 (GNU_USER_TARGET_LINK_SPEC): New define.
1915 (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
1916 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC directly.
1917 (GNU_USER_TARGET_MATHFILE_SPEC): New define.
1918 (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC and
1919 GNU_USER_TARGET_ENDFILE_SPEC.
1920 * config/mips/gnu-user64.h (LIB_SPEC): Remove.
1921 (GNU_USER_TARGET_LINK_SPEC): New define.
1922 (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
1923 * config/mips/linux-common.h: New file.
1924
24d5b351
BS
19252012-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1926
1927 PR target/47197
1928 * config/rs6000/rs6000-c.c (fully_fold_convert): New function.
1929 (altivec_build_resolved_builtin): Call fully_fold_convert.
1930
59d9ade4
GJL
19312012-04-24 Georg-Johann Lay <avr@gjlay.de>
1932
1933 PR target/53065
1934 * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
1935
46b380a2
RG
19362012-04-24 Richard Guenther <rguenther@suse.de>
1937
1938 PR tree-optimization/53085
1939 * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
1940 stores.
1941
05232ff6
RB
19422012-04-24 Richard Guenther <rguenther@suse.de>
1943
1944 * tree-if-conv.c (main_tree_if_conversion): Move bb under
1945 ENABLE_CHECKING.
1946
19472012-04-24 Jim Meyering <meyering@redhat.com>
57f10fe5
JM
1948
1949 * genattrtab.c (gen_attr): Avoid NULL-deref after diagnosing
1950 absence of an define_enum call.
1951
7d5a99f4
RG
19522012-04-24 Richard Guenther <rguenther@suse.de>
1953
1954 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): If
1955 the epilogue loop is not re-used as unvectorized version
1956 record the its maximum number of iterations.
1957
8eddb625
AP
19582012-04-24 Andrew Pinski <apinski@cavium.com>
1959
1960 * tree-ssa-forwprop.c (simplify_bitwise_binary):
1961 Don't directly use def1/def2.
1962
e1b435ad
RG
19632012-04-24 Richard Guenther <rguenther@suse.de>
1964
1965 PR tree-optimization/53098
1966 * tree-vect-loop.c (vect_analyze_loop_operations): Fixup
1967 comparison sign.
1968
a1e179f5
AP
19692012-04-24 Andrew Pinski <apinski@cavium.com>
1970
1971 PR tree-opt/33512
1972 * tree-ssa-forwprop.c (defcodefor_name): New function.
1973 (simplify_bitwise_binary): Use defcodefor_name instead of manually
1974 Simplify "( X | Y) & X" to X and "( X & Y) | X" to X.
1975 Simplify "(~X | Y) & X" to "X & Y" and
1976 "(~X & Y) | X" to "X | Y".
1977
57ac4c34
AK
19782012-04-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1979
1980 * recog.c (insn_invalid_p): Add IN_GROUP parameter and use
1981 validate_change to add clobbers if IN_GROUP is nonzero.
1982 (verify_changes): Call insn_invalid_p with IN_GROUP set to true.
1983 * recog.h (insn_invalid_p): Add IN_GROUP parameter to function
1984 prototype.
1985 * gcse.c (process_insert_insn): Call insn_invalid_p with IN_GROUP
1986 set to false.
1987 * config/s390/s390.c (insn_invalid_p): Likewise.
1988
06edd772
JJ
19892012-04-24 Jakub Jelinek <jakub@redhat.com>
1990
dd0a516f 1991 PR middle-end/53084
ad1d9a50 1992 * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR of MEM_REF.
dd0a516f
JJ
1993 (output_addressed_constants): Likewise.
1994
06edd772
JJ
1995 PR middle-end/52999
1996 * varasm.c (get_section): Don't ICE for section conflicts with
1997 built-in section kinds.
1998
5e0cea66
DD
19992012-04-23 DJ Delorie <dj@redhat.com>
2000
2001 * config/s390/s390.h (LINK_SPEC): Remove, no longer needed.
2002 (LIBSTDCXX): Change to CPP2.
2003
eefdb8e6
L
20042012-04-23 H.J. Lu <hongjiu.lu@intel.com>
2005
2006 PR bootstrap/52878
2007 * opth-gen.awk: Check if MASK_ and TARGET_ macros are defined for
2008 extra_masks.
2009
025735b7
UB
20102012-04-23 Uros Bizjak <ubizjak@gmail.com>
2011
2012 * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
2013 (*addsi_2_zext): Ditto.
2014 (*add<mode>_3): Ditto.
2015 (*addsi_3_zext): Ditto.
2016 (*add<mode>_5): Ditto.
2017
24fc7360
AP
20182012-04-23 Andrew Pinski <apinski@cavium.com>
2019
2020 * tree-ssa-forwprop.c (simplify_bitwise_binary): Simplify (A & B) OP0
2021 (C & B) to (A OP0) & B.
2022
e9d68de9
MJ
20232012-04-23 Martin Jambor <mjambor@suse.cz>
2024
2025 * expr.c (expand_expr_real_1): Remove setting parent's alias set for
2026 temporaries created for a bitfield (reverting revision 122014).
2027
f7a06a98
RG
20282012-04-23 Richard Guenther <rguenther@suse.de>
2029
2030 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Gimplify
2031 the condition using is_gimple_condexpr and avoid the not necessary
2032 boolification.
2033 (set_prologue_iterations): Likewise.
2034 (vect_loop_versioning): Likewise.
2035
c6542175
RG
20362012-04-23 Richard Guenther <rguenther@suse.de>
2037
2038 PR tree-optimization/53070
2039 * tree-if-conv.c (combine_blocks): Free predicates in all blocks.
2040 (main_tree_if_conversion): Verify we succeeded in that.
2041
93a18a70
JH
20422012-04-23 Jan Hubicka <jh@suse.cz>
2043
2044 * lto-symtab.c (lto_cgraph_replace_node): Do not call
2045 mark_reahcable_node.
2046 * cgraph.c (cgraph_remove_node): Do not clear reachable.
2047 (cgraph_mark_reachable_node): Remove.
2048 (cgraph_mark_force_output_node): Do not set reachable.
2049 (dump_cgraph_node): Do not dump reachable.
2050 (cgraph_create_virtual_clone): Do not set reachable.
2051 * cgraph.h (cgraph_node): Remove reachable flag.
2052 (varpool_node): Remove reachable flag.
2053 (cgraph_mark_if_needed): Remove.
2054 (cgraph_mark_reachable_node): Remove.
025735b7 2055 * tree-emutls.c (ipa_lower_emutls): Do not check reachable.
93a18a70
JH
2056 * cgraphunit.c (cgraph_finalize_function): Do not mark node as
2057 reachable.
2058 (cgraph_add_new_function): Likewise.
2059 (cgraph_mark_if_needed): Remove.
2060 (cgraph_analyze_function): Do not set target as reachable.
025735b7
UB
2061 (process_function_and_variable_attributes): Do not care about
2062 dllexport.
93a18a70
JH
2063 (cgraph_analyze_functions): Do not set reachable flags.
2064 (cgraph_mark_functions_to_output): Do not check reachability.
2065 (cgraph_copy_node_for_versioning): Do not set reachable flag.
2066 (dbxout_expand_expr): Update.
2067 * c-decl.c (merge_decls): Do not track changed externs.
2068 * ipa.c: Include pointer-set.h
2069 (enqueue_cgraph_node): Use reachable pointer set.
2070 (process_references): Likewise.
2071 (cgraph_remove_unreachable_nodes): Likewise.
025735b7
UB
2072 (whole_program_function_and_variable_visibility): Do not recompute
2073 reachable.
93a18a70
JH
2074 * trans-mem.c (ipa_tm_execute): Do not check reachable flag.
2075
da4343c3
GJL
20762012-04-23 Georg-Johann Lay <avr@gjlay.de>
2077
2078 * doc/extend.texi (AVR Named Address Spaces): Fix typos.
2079
54b9f838
RB
20802012-04-23 Richard Guenther <rguenther@suse.de>
2081
2082 PR c/53060
2083 * c-typeck.c (build_binary_op): Fix typo.
2084
e6a21dd2
JJ
20852012-04-23 Jakub Jelinek <jakub@redhat.com>
2086
2087 PR tree-optimizations/52891
2088 * tree-vect-patterns.c (adjust_bool_pattern): Use
2089 build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
2090 but with non-standard precision.
2091
837a549b
JH
20922012-04-22 Jan Hubicka <jh@suse.cz>
2093
54b9f838
RB
2094 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Bail out at NULL
2095 tree refs.
837a549b 2096
66058468
JH
20972012-04-22 Jan Hubicka <jh@suse.cz>
2098
2099 * lto-symtab.c (lto_varpool_replace_node): Do not merge needed flags.
2100 * cgraphbuild.c (record_reference, record_type_list, mark_address,
2101 mark_load, mark_store): Do not mark varpool nodes as needed.
2102 * cgraph.c (cgraph_new_nodes): Remove.
2103 (cgraph_create_function_alias): Do not mark nodes as reachable.
2104 (cgraph_add_thunk): Likewise.
2105 (cgraph_mark_reachable_node): Do not manage the queue.
2106 * cgraph.h (cgraph_node): Remove next_needed.
2107 (varpool_nodes_queue): Remove next_needed and prev_needed.
2108 (x_cgraph_nodes_queue, x_cgraph_nodes_queue, cgraph_new_nodes): Remove.
2109 (cgraph_new_nodes): Declare.
2110 (x_varpool_nodes_queue, varpool_nodes_queue); Remove.
2111 (varpool_analyze_pending_decls): Remove.
2112 (varpool_analyze_node): New.
2113 (varpool_mark_needed_node): Remove.
2114 (varpool_first_variable, varpool_next_variable): New inlines.
025735b7
UB
2115 (varpool_first_static_initializer, varpool_next_static_initializer):
2116 Update.
66058468
JH
2117 (FOR_EACH_STATIC_VARIABLE): Remove unused walker.
2118 (varpool_first_defined_variable): New inline.
2119 (varpool_next_defined_variable): New inline
2120 (FOR_EACH_VARIABLE): Reimplement.
2121 (FOR_EACH_DEFINED_VARIABLE): Reimplement.
2122 * toplev.c (wrapup_global_declaration_2): Use analyzed instead of
2123 needed flag.
2124 * cgraphunit.c (cgraph_new_nodes): Declare here.
2125 (enqueue_node): New function.
2126 (cgraph_process_new_functions): update for new
2127 node set; when constructing cgraph enqueue node for processing.
2128 (cgraph_add_new_function): Use new node set.
2129 (process_function_and_variable_attributes): Do not set varpool needed
2130 flags.
2131 (referred_to_p): New function.
2132 (varpool_finalize_decl): Move here from varpool.c; enqueue needed node
2133 when varpool is in construction.
2134 (cgraph_analyze_functions): Rewrite.
2135 (cgraph_expand_all_functions): Update.
025735b7
UB
2136 (cgraph_output_in_order): Do not analyze pending decls; do not set
2137 needed flags.
66058468 2138 (cgraph_optimize): Do not analyze pending decls.
025735b7
UB
2139 * lto-cgraph.c (input_varpool_node): Clear analyzed flag for objects
2140 in other partition; do not mark node as needed.
66058468
JH
2141 * dwarf2out.c (reference_to_unused): Use analyzed flag.
2142 (premark_types_used_by_global_vars_helper): Likewise.
2143 * ipa.c (process_references): Do not call varpool_mark_needed_node.
2144 (cgraph_remove_unreachable_nodes): Do not rely on varpool and
2145 cgrpah queues.
2146 (function_and_variable_visibility): Do not mark node as needed.
2147 (whole_program_function_and_variable_visibility): Likewise.
2148 * Makefile.in (gt-varpool.h): No longer needed.
2149 * passes.c (execute_one_pass, execute_ipa_pass_list): Update.
2150 (ipa_write_summaries): Do not use needed flag.
2151 * varpool.c: Do not include gt-varpool.h
2152 (x_varpool_nodes_queue, x_varpool_last_needed_node,
2153 x_varpool_last_needed_node, x_varpool_first_unanalyzed_node,
2154 x_varpool_first_unanalyzed_node, varpool_assembled_nodes_queue):
2155 Remove.
2156 (varpool_remove_node): Do not update the lists.
2157 (dump_varpool_node): Do not dump needed flag.
2158 (varpool_enqueue_needed_node): Remove.
2159 (varpool_mark_needed_node): Remove.
2160 (varpool_reset_queue): Remove.
2161 (varpool_finalize_decl): Move to cgraphunit.c
2162 (varpool_analyze_node): New functions based on former
2163 varpool_analyze_pending_decls.
2164 (varpool_analyze_pending_decls): Remove.
2165 (varpool_assemble_decl): Do not update the lists.
2166 (enqueue_node): New function.
2167 (varpool_remove_unreferenced_decls): Rewrite.
2168 (varpool_empty_needed_queue): Remove.
2169 (add_new_static_var): Do not mark node as needed.
2170 (varpool_create_variable_alias): Handle expansion state
2171 creation.
2172 * except.c (output_ttype): Do not mark node as needed.
2173 * varasm.c (mark_decl_referenced): Do not use mark_needed_node.
2174 * tree-profile.c (init_ic_make_global_vars, init_ic_make_global_vars):
2175 Likewise.
2176 * tree-switch-conversion.c (build_one_array): Likewise.
2177
c1771a20
MLI
21782012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2179
2180 PR c/44774
2181 * doc/invoke.texi (pedantic): Rename to Wpedantic.
2182 * common.opt (Wpedantic): New.
2183 (pedantic): Alias Wpedantic.
2184 * diagnostic.c (warning_at): Likewise.
2185 * c-decl.c (diagnose_mismatched_decls): Likewise.
2186 (build_array_declarator): Likewise.
2187 (mark_forward_parm_decls):
2188 (check_bitfield_type_and_width): Likewise.
2189 (grokdeclarator): Likewise.
2190 (grokfield): Likewise.
2191 (finish_struct): Likewise.
2192 (build_enumerator): Likewise.
2193 (store_parm_decls_oldstyle): Likewise.
2194 (declspecs_add_qual): Likewise.
2195 (declspecs_add_type): Likewise.
2196 (finish_declspecs): Likewise.
2197 * c-typeck.c (composite_type): Likewise.
2198 (comp_target_types): Likewise.
2199 (build_array_ref): Likewise.
2200 (pointer_diff): Likewise.
2201 (build_unary_op): Likewise.
2202 (build_conditional_expr): Likewise.
2203 (build_c_cast): Likewise.
2204 (convert_for_assignment): Likewise.
2205 (maybe_warn_string_init): Likewise.
2206 (digest_init): Likewise.
2207 (pop_init_level): Likewise.
2208 (set_init_index): Likewise.
2209 (c_finish_goto_label): Likewise.
2210 (c_finish_return): Likewise.
2211 (do_case): Likewise.
2212 (build_binary_op): Likewise.
2213 * c-parser.c (static): Likewise.
2214 (c_parser_external_declaration): Likewise.
2215 (c_parser_declaration_or_fndef): Likewise.
2216 (c_parser_static_assert_declaration_no_se): Likewise.
2217 (c_parser_enum_specifier): Likewise.
2218 (c_parser_struct_or_union_specifier): Likewise.
2219 (c_parser_struct_declaration): Likewise.
2220 (c_parser_alignas_specifier): Likewise.
2221 (c_parser_braced_init): Likewise.
2222 (c_parser_initelt): Likewise.
2223 (c_parser_compound_statement_nostart): Likewise.
2224 (c_parser_conditional_expression): Likewise.
2225 (c_parser_alignof_expression): Likewise.
2226 (c_parser_postfix_expression): Likewise.
2227 (c_parser_postfix_expression_after_paren_): Likewise.
2228 (c_parser_objc_class_instance_variables): Likewise.
2229 (c_parser_objc_method_definition): Likewise.
2230 (c_parser_objc_methodprotolist): Likewise.
2231
f12e8bd5
ILT
22322012-04-22 Ian Lance Taylor <iant@google.com>
2233
2234 * godump.c (go_output_typedef): Dump size of structs.
2235
69958396 22362012-04-22 Razya Ladelsky <razya@il.ibm.com>
49c45e28
UB
2237
2238 Correcting transform_to_exit_first_loop + fix to PR46886
2239 * tree-parloops.c (transform_to_exit_first_loop): Remove
2240 setting of number of iterations according to the loop pattern.
2241 Duplicate from entry to exit->src instead of loop->latch.
2242 (pallelize_loops): Remove the condition preventing do-while loops.
2243 * tree-cfg.c (bool bb_in_region_p): New.
2244 (gimple_duplicate_sese_tail): Adjust duplication of the the subloops.
2245 Adjust redirection of the duplicated iteration.
2246
9e412ca3
RS
22472012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
2248
2249 PR bootstrap/53021
2250 * rtl.def (ADDRESS): Use "i" rather than "w".
2251 * rtl.h (find_base_term): Delete.
2252 (may_be_sp_based_p): Declare.
2253 * rtl.c (rtx_code_size): Remove ADDRESS special case.
2254 * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP)
2255 (UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Move to...
2256 * alias.c: ...here.
2257 (find_base_term): Make static.
2258 (may_be_sp_based_p): New function.
2259 * dse.c (record_store): Use it.
2260 * store-motion.c (store_killed_in_insn): Likewise.
2261
1a14ac4b
RS
22622012-04-21 Richard Sandiford <rdsandiford@googlemail.com>
2263
2264 * fold-const.c (fold_checksum_tree): Fix VECTOR_CST case.
2265
ae52741c
MLI
22662012-04-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2267
2268 PR 35441
2269 * c-typeck.c (inform_declaration): New.
2270 (build_function_call_vec): Do not pretty-print
2271 expressions when caret is enabled.
2272 (convert_arguments): Use inform_declaration.
2273
1f36f7b3
JM
22742012-04-20 Jim Meyering <meyering@redhat.com>
2275
2276 * genmodes.c (make_complex_modes): Don't truncate a mode name of
2277 length 7 or more when prepending a "C". Suggested by Richard Guenther.
2278
add6207a
BS
22792012-04-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2280
2281 PR rtl-optimization/44214
2282 * fold-const.c (exact_inverse): New function.
2283 (fold_binary_loc): Fold vector and complex division by constant into
2284 multiply by recripocal with flag_reciprocal_math; fold vector division
2285 by constant into multiply by reciprocal with exact inverse.
2286
ead84f73
JH
22872012-04-20 Jan Hubicka <jh@suse.cz>
2288
49c45e28
UB
2289 * lto-symtab.c (lto_cgraph_replace_node): Merge needed instead of
2290 force flags.
ead84f73
JH
2291 * cgraph.c (cgraph_add_thunk): Use mark_reachable_node.
2292 (cgraph_remove_node): Update.
2293 (cgraph_mark_needed_node): Remove.
2294 (cgraph_mark_force_output_node): New.
2295 (dump_cgraph_node): Do not dump needed flag.
2296 (cgraph_node_cannot_be_local_p_1): Update.
2297 (cgraph_can_remove_if_no_direct_calls_and_refs): Update.
2298 * cgraph.h (symtab_node_base): Add force_output flag.
2299 (cgraph_node): Remove needed flag.
2300 (varpool_node): Remove force_output flag.
2301 (cgraph_mark_needed_node): Remove.
2302 (cgraph_mark_force_output_node): New.
2303 (cgraph_only_called_directly_or_aliased_p,
2304 varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p): Update.
2305 * ipa-cp.c (ipcp_generate_summary): Remove out of date assert.
2306 * cgraphunit.c (cgraph_decide_is_function_needed): rewrite.
49c45e28
UB
2307 (cgraph_add_new_function): Update.
2308 (cgraph_mark_if_needed): Update.
ead84f73
JH
2309 (verify_cgraph_node): Update.
2310 (cgraph_analyze_function): Alias target is reachable.
2311 (process_function_and_variable_attributes): Update: externally_visible
2312 flag makes function reachable.
2313 (cgraph_analyze_functions): Update dumping.
2314 * lto-cgraph.c (lto_output_node, lto_output_varpool_node,
2315 input_overwrite_node, input_varpool_node): Update streaming.
2316 * lto-streamer-out.c (produce_symtab): Use force_output.
2317 * ipa.c (process_references): Weakrefs must be processed.
2318 (cgraph_remove_unreachable_nodes): Likewise; update for new
2319 force_output flag.
49c45e28 2320 (varpool_externally_visible_p): Weakrefs are externally visible
ead84f73
JH
2321 even if they are not.
2322 (function_and_variable_visibility): Update; when processing alias
2323 pair force the targets to be output.
49c45e28
UB
2324 (whole_program_function_and_variable_visility): Use
2325 mark_reachable_node.
ead84f73
JH
2326 * trans-mem.c (ipa_tm_mark_needed_node): Remove
2327 (ipa_tm_mark_force_output_node): New function.
2328 (ipa_tm_create_version_alias, ipa_tm_create_version): Update.
49c45e28
UB
2329 * gimple-fold.c (can_refer_decl_in_current_unit_p): Be lax about
2330 aliases.
ead84f73
JH
2331 * varasm.c (mark_decl_referenced): Update.
2332 (find_decl_and_mark_needed): Remove.
2333 (find_decl): New function.
2334 (weak_finish, finish_aliases_1, assemble_alias): Update; do not mark
2335 alias targets as needed.
2336 (dump_tm_clone_pairs): Update.
2337 * tree-inline.c (copy_bb): Update check.
2338 * symtab.c (dump_symtab_base): Dump force_output.
2339 * tree-ssa-structalias.c (ipa_pta_execute): Use force_output.
2340 * passes.c (execute_todo): Fix dumping.
2341 * varpool.c (decide_is_variable_needed, varpool_finalize_decl): Update.
2342 (varpool_analyze_pending_decls): Alias target is reachable.
2343 (varpool_create_variable_alias): Finalize weakrefs.
2344
757e8ba2
JJ
23452012-04-20 Jakub Jelinek <jakub@redhat.com>
2346
2347 PR bootstrap/53021
2348 * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP,
2349 UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Define.
2350 * alias.c (init_alias_targets): Use UNIQUE_BASE_VALUE_*
2351 macros instead of constants.
2352 * dse.c (record_store): Check for SP ADDRESS by comparing
2353 XWINT to UNIQUE_BASE_VALUE_SP instead of expecting
2354 XEXP to be stack_pointer_rtx.
2355
faaf273b
RG
23562012-04-20 Richard Guenther <rguenther@suse.de>
2357
2358 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Use
2359 update_call_from_tree when propagating into a call.
2360
a51e5fa2
AM
23612012-04-20 Alan Modra <amodra@gmail.com>
2362
2363 * config/rs6000/rs6000.c (rs6000_emit_savres_rtx): Formatting.
2364 (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise. Rename
2365 sp_offset to frame_off. Move world save code earlier.
2366
4cbc836e
RG
23672012-04-20 Richard Guenther <rguenther@suse.de>
2368
2369 PR tree-optimization/53050
2370 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine):
2371 Do only one transform on COND_EXPRs at the same time.
2372
efb496b5
JH
23732012-04-19 Jan Hubicka <jh@suse.cz>
2374
2375 * symtab.c (dump_symtab_base): Revert accidental checkin.
2376
7153fab9
AM
23772012-04-20 Alan Modra <amodra@gmail.com>
2378
2379 PR target/53040
2380 * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
2381 static chain, set REST_INLINE_FPRS too.
2382
4e0bd6d3
TS
23832012-04-20 Thomas Schwinge <thomas@codesourcery.com>
2384
2385 * tree-dump.c (dequeue_and_dump) <BIT_FIELD_REF>: Dump the three child
2386 nodes.
2387
552fd8e6
RG
23882012-04-20 Richard Guenther <rguenther@suse.de>
2389
49c45e28
UB
2390 * tree-vect-loop.c (vect_analyze_loop_operations): Do not vectorize
2391 loops that can never run more often than the vectorization factor.
552fd8e6 2392
fe0bd630
JH
23932012-04-19 Jan Hubicka <jh@suse.cz>
2394
2395 * symtab.c (dump_symtab_base): Fix dumping of asm lists.
2396
3877ce45
DE
23972012-04-19 David Edelsohn <dje.gcc@gmail.com>
2398
2399 * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
2400
75be0217
JM
24012012-04-19 Jim Meyering <meyering@redhat.com>
2402
75be0217
JM
2403 * genmodes.c (make_complex_modes): Avoid unnecessary use of strncpy.
2404 We verified above that the string(including trailing NUL) fits in buf,
2405 so just use memcpy.
2406
f68c0487
RG
24072012-04-19 Richard Guenther <rguenther@suse.de>
2408
2409 * symtab.c (dump_symtab_base): Use TREE_STRING_POINTER
2410 for dumping DECL_SECTION_NAME.
2411
314b662a
MM
24122012-04-19 Michael Matz <matz@suse.de>
2413
2414 PR middle-end/52977
2415 * tree.h (VECTOR_CST_NELTS): Use part number of types again.
2416 (struct tree_vector): Adjust GTY length.
2417 * tree.c (make_vector_stat): Don't set VECTOR_CST_NELTS.
2418
2419 * gengtype.c (struct walk_type_data): Add in_record_p and loopcounter
2420 members.
2421 (walk_type, <TYPE_POINTER, TYPE_ARRAY>): Handle case where our
2422 caller emitted the length calulation already.
2423 (walk_type, <TYPE_UNION, TYPE_STRUCT>): Emit length calculations
2424 before handling any of the fields for structs.
2425
7c98ec60
RG
24262012-04-19 Richard Guenther <rguenther@suse.de>
2427
2428 PR tree-optimization/53031
2429 * tree-vrp.c (adjust_range_with_scev): Revert back to
2430 using max_loop_iterations.
2431
80f24351
MM
24322012-04-19 Michael Matz <matz@suse.de>
2433
2434 * diagnostic.c (emit_diagnostic): Move va_end call after user
2435 of the va_list.
2436 (warning, warning_at, pedwarn, permerror): Ditto.
2437
d0a854af
RG
24382012-04-19 Richard Guenther <rguenther@suse.de>
2439
2440 * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2441 array access.
2442
20955f5a
GJL
24432012-04-19 Georg-Johann Lay <avr@gjlay.de>
2444
2445 PR target/53033
2446 * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
2447 the case *(X+const).
2448
e4eb230d
RR
24492012-04-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2450
2451 * config/arm/sync.md (sync_optab): Change ior attribute to "or".
2452
49c45e28 24532012-04-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
007a787d
CB
2454
2455 PR c/52283/37985
2456 * stmt.c (warn_if_unused_value): Skip NOP_EXPR.
2457 * convert.c (convert_to_integer): Don't set TREE_NO_WARNING.
2458
daa57386
RG
24592012-04-19 Richard Guenther <rguenther@suse.de>
2460
2461 PR rtl-optimization/44688
2462 * loop-iv.c (determine_max_iter): Only return max_iter.
2463 (iv_number_of_iterations): Also use the recorded loop bound
2464 on the maximum number of iterations.
2465 * loop-unroll.c (decide_unroll_runtime_iterations): Use
2466 max_iter to avoid unrolling loops that do not roll.
2467 (decide_unroll_stupid): Likewise.
2468
0cd2402d
SB
24692012-04-18 Steven Bosscher <steven@gcc.gnu.org>
2470
2471 * targhooks.c (default_case_values_threshold): Fix code style nit.
2472
2473 * stmt.c (add_case_node, expand_case): Move logic to remove/reduce
2474 case range and type folding from here...
2475 * gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE
809e5f82 2476 type, as documented in tree.def.
0cd2402d 2477
474ffc72
JH
24782012-04-18 Jan Hubicka <jh@suse.cz>
2479
2480 * cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
2481 Declare.
618107ba 2482 * cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify
474ffc72 2483 cgraph hash and same comdat groups.
49c45e28 2484 (cgraph_optimize): Verify symbol table.
474ffc72
JH
2485 * ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
2486 (dissolve_same_comdat_group_list): Work on symtab nodes.
2487 (function_and_variable_visibility): Dissolve variable same comdat group
2488 lists, too.
2489 * symtab.c: Include timevar.h
2490 (verify_symtab_base, verify_symtab_node, verify_symtab): New functions.
2491
308e3ba6
SB
24922012-04-18 Steven Bosscher <steven@gcc.gnu.org>
2493
fade902a
SB
2494 * tree-switch-conversion.c (info): Remove global pass info.
2495 (check_range, check_process_case, check_final_bb, create_temp_arrays,
2496 free_temp_arrays, gather_default_values, build_constructors,
2497 array_value_type, build_one_array, build_arrays, gen_def_assigns,
2498 fix_phi_nodes, gen_inbound_check): Pass info around from ...
2499 (process_switch): ... here. Unify message format. Return a const
2500 char pointer to the failure reason message.
2501 (do_switchconv): Unify message format. Update process_switch usage.
2502
308e3ba6
SB
2503 * tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
2504 * tree-cfg.c (edge_to_cases): Fix documentation.
2505
27dd0a95
UB
25062012-04-18 Uros Bizjak <ubizjak@gmail.com>
2507
2508 * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
2509
b59eee40
BS
25102012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2511
2512 PR tree-optimization/52976
2513 * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
2514 (possibly_move_powi): New function.
2515 (rewrite_expr_tree): Call possibly_move_powi.
2516 (rewrite_expr_tree_parallel): Likewise.
2517 (attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
2518 call add_to_ops_vec instead.
2519
c2723bde
BS
25202012-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2521
2522 PR tree-optimization/52976
2523 * tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
2524 (decrement_power): Likewise.
2525 (propagate_op_to_single_use): Likewise.
2526 (zero_one_operation): Handle __builtin_pow* calls in linearized
2527 expression trees; factor logic into propagate_op_to_single_use.
2528 (undistribute_ops_list): Allow operands with repeat counts > 1.
2529
03fd03d5
RG
25302012-04-18 Richard Guenther <rguenther@suse.de>
2531
2532 PR tree-optimization/44688
2533 * cfgloop.h (record_niter_bound): Declare.
2534 * tree-ssa-loop-niter.c (record_niter_bound): Export.
2535 Update the estimation with the upper bound here...
2536 (estimate_numbers_of_iterations_loop): ... instead of here.
2537 Do not forcefully reset a recorded upper bound.
2538 * tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
49c45e28 2539 Record the maximum number of loop iterations of the prologue loop.
03fd03d5 2540
5932a4d4
JH
25412012-04-18 Jan Hubicka <jh@suse.cz>
2542
2543 * lto-symtab.c (lto_cgraph_replace_node): Update.
2544 * cgraphbuild.c (record_reference, record_type_list,
2545 record_eh_tables, mark_address, mark_load, mark_store): Update.
2546 * cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
2547 cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
2548 Update.
2549 * cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
2550 (cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
2551 * reload.c: Fix typo in comment.
2552 * rtlanal.c: Likewise.
2553 * tree-emultls.c (gen_emutls_addr): Update.
2554 * ipa-reference.c (analyze_function): Update.
2555 * cgraphunit.c (cgraph_analyze_function,
2556 cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
2557 Update.
2558 * ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
2559 (ipa_remove_reference): Likewise.
2560 (ipa_remove_all_refering): Rename to ...
2561 (ipa_remove_all_referring): ... this one; update.
2562 (ipa_dump_references): Update.
2563 (ipa_dump_referring): Update.
2564 (ipa_clone_references): Update.
2565 (ipa_clone_refering): Rename to ...
2566 (ipa_clone_referring): ... this one; update.
2567 (ipa_ref_cannot_lead_to_return): Update.
2568 (ipa_ref_has_aliases_p): Update.
2569 * ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
2570 forward typedefs.
2571 (ipa_ref_type): Remove.
2572 (ipa_ref_ptr_u): Remove.
2573 (ipa_ref): Remove referencing, refered, refered_index, refering_type
2574 and refered_type; add referring, referred and referred_index.
2575 (ipa_ref_list): Rename refering to referring.
2576 (ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
2577 ipa_clone_references, ipa_clone_referring): Update prototypes.
2578 * lto-cgraph.c (referenced_from_other_partition_p): Update.
2579 (lto_output_ref): Update.
2580 (add_references): Update.
2581 (input_varpool_node): Update.
2582 (input_refs): Update.
2583 * ipa-ref-inline.h (ipa_ref_node): Update.
2584 (ipa_ref_varpool_node): Update.
49c45e28 2585 (ipa_ref_referring_node): Update.
5932a4d4 2586 (ipa_ref_referring_varpool_node): Update.
49c45e28 2587 (ipa_ref_referring_ref_list): Update.
5932a4d4
JH
2588 (ipa_ref_referred_ref_list): Update.
2589 (ipa_ref_list_first_referring): Update.
2590 (ipa_empty_ref_list): Update.
2591 (ipa_ref_list_refering_iterate): Rename to ...
2592 (ipa_ref_list_referring_iterate): ... this one.
2593 * cse.c: Update comment.
2594 * ipa-utils.c (ipa_reverse_postorder): Update.
2595 * tree-ssa-alias.c: Update.
2596 * ipa-inline.c (reset_edge_caches): Update.
2597 (update_caller_keys): Update.
2598 * ipa-inline.h: Update comments.
2599 * jump.c: Update comment.
2600 * alias.c: Likewise.
2601 * ipa.c (process_references): Update.
2602 (cgraph_remove_unreachable_nodes): Likewise.
2603 (ipa_discover_readonly_nonaddressable_var): Likewise.
2604 (cgraph_address_taken_from_non_vtable_p): Likewise.
2605 * trans-mem.c (ipa_tm_execute): Update.
2606 * simplify-rtx.c: Fix comment.
2607 * rtl.c: Fix comment.
2608 * symtab.c (symtab_unregister_node): Update.
2609 * varpool.c (dump_varpool_node): Update.
2610 (varpool_analyze_pending_decls): Update.
2611 (assemble_aliases): Update.
2612 (varpool_for_node_and_aliases): Update.
2613
421e6082
RG
26142012-04-18 Richard Guenther <rguenther@suse.de>
2615
2616 * cfgloop.h (estimate_numbers_of_iterations_loop): Remove
2617 use_undefined_p parameter.
2618 * tree-flow.h (estimate_numbers_of_iterations): Likewise.
2619 * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
2620 Likewise.
2621 (estimate_numbers_of_iterations): Likewise.
2622 (estimated_loop_iterations): Adjust.
2623 (max_loop_iterations): Likewise.
2624 (scev_probably_wraps_p): Likewise.
2625 * tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
2626 * tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
2627 not max_loop_iterations.
2628 (execute_vrp): Remove explicit number of iterations estimation.
2629
6acc8a3c
EI
26302012-04-18 Enkovich Ilya <ilya.enkovich@intel.com>
2631
2632 * config/i386/linux-common.h: New.
2633
2634 * config.gcc: Add i386/linux-common.h before
2635 all i386/linux.h and i386/linux64.h usages.
2636
2637 * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
2638 (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
2639 * config/i386/gnu-user64.h: Likewise.
2640
2641 * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
2642 (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
2643 (GNU_USER_TARGET_MATHFILE_SPEC): New.
2644 (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.
2645
8f940ee6
JH
26462012-04-18 Jan Hubicka <jh@suse.cz>
2647
2648 * cgraph.c (cgraph_node_name): Remove.
2649 (dump_cgraph_node): Use dump_symtab_base; reformat.
2650 * cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
2651 debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
2652 Declare.
2653 (cgraph_node_name, varpool_node_name): Remove.
2654 (cgraph_node_asm_name, varpool_node_asm_name,
2655 cgraph_node_name, varpool_node_name): New.
2656 * tree-pass.h (TODO_dump_cgraph): Rename to ...
2657 (TODO_dump_symtab): ... this one.
2658 * ipa-cp (pass_ipa_cp): Update.
2659 * ia-reference.c (generate_summary, read_write_all_from_decl,
2660 propagate, ipa_reference_read_optimization_summary): Update.
2661 * cgraphunit.c (cgraph_analyze_functions): Update.
2662 (cgraph_optimize): Update.
2663 * ipa-ref.c (ipa_dump_references): Update.
2664 (ipa_dump_refering): Update.
2665 * ipa-inline.c (pass_ipa_inline): Update.
2666 * matrix-reorg.c (pass_ipa_matrix_reorg): Update.
2667 * ipa.c (pass_ipa_function_visibility,
2668 pass_ipa_whole_program_visibility): Update.
2669 * tree-sra.c (pass_early_ipa_sra): Update.
2670 * symtab.c: Include langhooks.h
2671 (symtab_node_asm_name): New.
2672 (symtab_node_name): New.
2673 (symtab_type_names): New static var.
2674 (dump_symtab_base): New.
2675 (dump_symtab_node, dump_symtab): New.
2676 (debug_symtab_node, debug_symtab): New.
2677 * tree-ssa-structalias.c: Dump symbol table.
2678 * pases.c (execute_todo): Handle TODO_dump_symtab instead
2679 of TODO_dump_cgraph.
2680 * varpoo.c (varpool_node_name): Remove.
2681 (dump_varpool_node): Use dump_symtab_base; reformat.
2682
dae1c90e
MLI
26832012-04-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2684
49c45e28 2685 * doc/invoke.texi (Language Independent Options): @item should be
dae1c90e
MLI
2686 before @opindex.
2687
f0184d42
RS
26882012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
2689
2690 PR bootstrap/53021
2691 * rtl.c (rtx_code_size): Handle ADDRESS.
2692
a60596b8
TV
26932012-04-17 Tom de Vries <tom@codesourcery.com>
2694
2695 * tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
2696 is not a STMT_LIST.
2697
6c381d9d
UB
26982012-04-17 Uros Bizjak <ubizjak@gmail.com>
2699
2700 PR target/53020
2701 * config/i386/sync.md (atomic_<code><mode>): Rename to
2702 atomic_<logic><mode>.
2703
9fc37b2b
RS
27042012-04-17 Richard Sandiford <rdsandiford@googlemail.com>
2705
2706 * rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
2707 * alias.c (reg_base_value): Expand and update comment.
2708 (arg_base_value): New variable.
2709 (unique_id): Move up file.
2710 (unique_base_value, unique_base_value_p, known_base_value_p): New.
2711 (find_base_value): Use arg_base_value and known_base_value_p.
2712 (record_set): Document REG_NOALIAS handling. Use unique_base_value.
2713 (find_base_term): Use known_base_value_p.
2714 (base_alias_check): Use unique_base_value_p.
2715 (init_alias_target): Initialize arg_base_value. Use unique_base_value.
2716 (init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.
2717
9f89e66e
PH
27182012-04-17 Pat Haugen <pthaugen@us.ibm.com>
2719
2720 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
2721
7d75abc8
MM
27222012-04-17 Michael Matz <matz@suse.de>
2723
2724 PR tree-optimization/18437
2725 * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
2726 (STMT_VINFO_STRIDE_LOAD_P): New accessor.
2727 (vect_check_strided_load): Declare.
2728 * tree-vect-data-refs.c (vect_check_strided_load): New function.
2729 (vect_analyze_data_refs): Use it to accept strided loads.
2730 * tree-vect-stmts.c (vectorizable_load): Ditto and handle them.
2731
efa26eaa
RG
27322012-04-17 Richard Guenther <rguenther@suse.de>
2733
2734 PR middle-end/53011
2735 * tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
2736 loops when redirecting an entry or latch edge.
2737
d51e8a2d
BS
27382012-04-17 Bernd Schmidt <bernds@codesourcery.com>
2739
2740 * sel-sched.c (sel_global_init): Revert previous change.
2741
d8279b12
RG
27422012-04-17 Richard Guenther <rguenther@suse.de>
2743
2744 * tree-flow.h (array_at_struct_end_p): Move declaration ...
2745 * tree.h (array_at_struct_end_p): ... here.
2746 * tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
2747 * expr.c (array_at_struct_end_p): ... here. Rewrite.
2748
c5c20c55
SB
27492012-04-17 Steven Bosscher <steven@gcc.gnu.org>
2750
2751 * stmt.c (cost_table_, use_cost_table, cost_table_initialize,
2752 COST_TABLE): Remove.
2753 (estimate_case_costs): Remove.
2754 (expand_case): Do not call estimate_case_costs
2755 to set use_cost_table.
2756 (balance_case_nodes): Do not use use_cost_table.
2757
1ab24192
JH
27582012-04-16 Jan Hubicka <jh@suse.cz>
2759
2760 * cgraph.c (cgraph_hash, assembler_name_hash): Remove.
2761 (hash_node, eq_node): Remove.
2762 (cgraph_create_node): Do not handle hashtable.
2763 (cgraph_get_node): Remove.
2764 (cgraph_insert_node_to_hashtable): Remove.
2765 (hash_node_by_assembler_name): Remove.
2766 (eq_assembler_name): Remove.
2767 (cgraph_node_for_asm): Rewrite.
2768 (cgraph_find_replacement_node): Break out from ...
2769 (cgraph_remove_node): ... here; do not maintain hashtables.
2770 (change_decl_assembler_name): Remove.
2771 (cgraph_clone_node): Do not maintain hashtables.
2772 * cgraph.h (const_symtab_node): New typedef.
2773 (cgraph_insert_node_to_hashtable): Remove.
2774 (symtab_get_node, symtab_node_for_asm,
2775 symtab_insert_node_to_hashtable): Declare.
2776 (cgraph_find_replacement_node): Declare.
2777 (cgraph_get_node, varpool_get_node): Turn into inlines.
2778 (cgraph, varpool): Work sanely on NULL pointers.
2779 (FOR_EACH_SYMBOL): New walker.
2780 * ipa-inline-transform.c (save_inline_function_body): Use
2781 symtab_insert_node_to_hashtable.
2782 * symtab.c: Include ggc.h and diagnostics.h
2783 (symtab_hash, assembler_name_hash): New static vars;
2784 (hash_node, eq_node, hash_node_by_assembler_name,
2785 eq_assembler_name, insert_to_assembler_name_hash,
2786 unlink_from_assembler_name_hash): New.
2787 (symtab_register_node): Update hashtables.
2788 (symtab_insert_node_to_hashtable): New.
2789 (symtab_unregister_node): Update hashtables.
2790 (symtab_get_node): New.
2791 (symtab_node_for_asm): New.
2792 (change_decl_assembler_name): New.
2793 * Makefile.in (symtab.o): Needs GTY.
2794 * varpool.c (varpool_hash): Remove.
2795 (hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
2796 (varpool_node): Rewrite using varpool_get_node.
2797 (varpool_remove_node): DO not maintain hashtables.
49c45e28 2798 (varpool_node_for_asm): Rewrite.
1ab24192 2799
0d63b643
SL
28002012-04-16 Sandra Loosemore <sandra@codesourcery.com>
2801
2802 * doc/invoke.texi: Copy-edit to put verbs in the present tense
2803 when describing the current behavior of GCC.
2804
6b338d0a
RS
28052012-04-16 Richard Sandiford <rdsandiford@googlemail.com>
2806
2807 * genemit.c (gen_exp): Remove ADDRESS handling.
2808 * genoutput.c (scan_operands): Likewise.
2809 * genpeep.c (match_rtx): Likewise.
2810 * genrecog.c (add_to_sequence): Likewise.
2811
a0bc8f9c
DE
28122012-04-16 David Edelsohn <dje.gcc@gmail.com>
2813
49c45e28 2814 * doc/install.texi (Specific, *-ibm-aix*): Update assembler bug status.
a0bc8f9c 2815
36e57e16
MJ
28162012-04-16 Martin Jambor <mjambor@suse.cz>
2817
2818 * tree-sra.c (build_ref_for_model): Create COMPONENT_REFs only for
2819 bit-fields.
2820
d6cb05db
UW
28212012-04-16 Ulrich Weigand <ulrich.weigand@linaro.org>
2822
2823 PR target/51819
2824 * config/arm/arm.c (arm_print_operand): Fix invalid alignment
2825 hints for 'A' operand types.
2826
2aae7680
JH
28272012-04-16 Jan Hubicka <jh@suse.cz>
2828
2829 * cgraph.h (symtab_node_base): Add next and previous pointers.
2830 (cgraph_node): Remove next and preivous pointers.
2831 (varpool_node): Likewise; remove next/previous GTY marker;
2832 it is not type safe.
2833 (symtab_node_def): Update GTY marker
2834 (x_cgraph_nodes, cgraph_nodes): Remove.
2835 (symtab_nodes): New function.
2836 (cgraph_order): Rename to ...
2837 (symtab_order): ... this one.
2838 (symtab_register_node, symtab_unregister_node, symtab_remove_node):
2839 Declare.
2840 (x_varpool_nodes, varpool_nodes): Remove.
2841 (FOR_EACH_STATIC_VARIABLE): Update.
2842 (symtab_function_p, symtab_variable_p): New function.
2843 (FOR_EACH_VARIABLE): Update.
2844 (varpool_first_variable, varpool_next_variable): New functions.
2845 (FOR_EACH_VARIABLE): Update.
2846 (cgraph_first_defined_function): Update.
2847 (cgraph_next_defined_function, cgraph_next_defined_function): Update.
2848 (FOR_EACH_DEFINED_FUNCTION, FOR_EACH_FUNCTION): Update.
2849 (cgraph_first_function, cgraph_next_function): New.
2850 (FOR_EACH_FUNCTION): Update.
2851 (cgraph_first_function_with_gimple_body,
2852 cgraph_next_function_with_gimple_body): Update.
2853 * symtab.c: New file.
2854 * cgraph.c: Update copyright dates.
2855 (x_cgraph_nodes, cgraph_order): Remove.
2856 (NEXT_FREE_NODE): Update.
2857 (SET_NEXT_FREE_NODE): New.
2858 (cgraph_create_node_1): Remove common code.
49c45e28 2859 (cgraph_create_node): Remove common code; call symtab_register_node.
2aae7680 2860 (cgraph_remove_node): Remove common code; call symtab_unregister-node.
49c45e28 2861 (cgraph_add_asm_node): Update.
2aae7680
JH
2862 (cgraph_clone_node): Register new node.
2863 * cgraphunit.c (process_function_and_variable_attributes): Update.
2864 (cgraph_analyze_functions): Update.
2865 (cgraph_analyze_functions): Update.
2866 (cgraph_output_in_order): Update.
49c45e28
UB
2867 * lto-cgraph.c (input_node, input_varpool_node, input_cgraph_1):
2868 Update.
2869 * ipa-inline.c (recursive_inlining): Update.
2870 * lto-streamer-in.c (lto_input_toplevel_asms): Update.
2aae7680
JH
2871 * ipa.c (cgraph_remove_unreachable_nodes): Update.
2872 * Makefile.in: Add symtab.o
2873 * varpool.c (x_varpool_nodes): Remove
2874 (varpool_node): Remove common code; call symtab_register_node.
49c45e28 2875 (varpool_remove_node): Remove common code; call symtab_unregister_node.
2aae7680 2876
ac9a074c
RG
28772012-04-16 Richard Guenther <rguenther@suse.de>
2878
2879 PR middle-end/52977
2880 * tree.h (VECTOR_CST_NELTS): Adjust.
2881 (struct tree_vector): Add explicit length field.
2882 (make_vector_stat): Declare.
2883 (make_vector): Define.
2884 * tree.c (make_vector_stat): New function.
2885 (build_vector_stat): Use it.
2886 * tree-streamer-in.c (streamer_alloc_tree): Likewise.
2887
fba62120
BS
28882012-04-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2889
2890 PR tree-optimization/52976
2891 * tree-ssa-reassoc.c (add_to_ops_vec_max_rank): New function.
2892 (undistribute_ops_list): Ops with repeat counts aren't eligible for
2893 undistribution.
2894 (attempt_builtin_powi): Call add_to_ops_vec_max_rank.
2895
65c70e6b
JH
28962012-04-16 Jan Hubicka <jh@suse.cz>
2897
2898 * cgraph.h (FOR_EACH_VARIABLE, FOR_EACH_VARIABLE, FOR_EACH_FUNCTION):
2899 New macros.
2900 * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Use FOR_EACH
2901 walkers to walk cgraph and varpool.
2902 * cgraph.c (cgraph_node_for_asm): Likewise.
2903 (dump_cgraph): Likewise.
2904 * value-prof.c (init_node_map): Likewise.
2905 * tree.c (free_lang_data_in_cgraph): Likewise.
2906 * tree-emutls.c: (ipa_lower_emutls): Likewise.
2907 * ipa-reference.c (generate_summary, propagate): Likewise.
2908 * cgraphunit.c (verify_cgraph, cgraph_process_same_body_aliases,
2909 cgraph_mark_functions_to_output, cgraph_output_in_order,
2910 output_weakrefs, cgraph_materialize_all_clones,
2911 cgraph_optimize): Likewise.
2912 * lto-cgraph.c (merge_profile_summaries): Likewise.
2913 (input_cgraph): Likewise.
2914 * ipa-pure-const.c (generate_summary): Likewise.
2915 (propagate): Likwise.
2916 * ipa-utils.c (ipa_reduced_postorder): Likewise.
2917 (ipa_free_postorder_info): Likewise.
2918 (ipa_reverse_postorder): Likewise.
2919 * ipa-inline.c (ipa_inline): Likewise.
2920 * matrix-reorg.c (find_matrices_decl): Likewise.
2921 (matrix_reorg): Likewise.
2922 * tree-vectorizer.c (increase_alignment): Likewise.
2923 * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
2924 (function_and_variable_visibility): Likewise.
2925 (whole_program_function_and_variable_visibility): Likewise.
2926 (ipa_cdtor_merge): Likewise.
2927 * trans-mem.c (ipa_tm_execute): Likewise.
2928 * ipa-inline-analysis.c (dump_inline_summaries): Likewise.
2929 * ipa-prop.c (ipa_print_all_jump_functions): Likewise.
2930 (ipa_print_all_params): Likewise.
2931 (ipa_update_after_lto_read): Likewise.
2932 * tree-profie.c (tree_profiling): Likewise.
2933 * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
2934 * passes.c (dump_passes): Likewise.
2935 (do_per_function): Likewise.
2936 (ipa_write_summaries): Likewise.
2937 * varpool.c (dump_varpool): Likewise.
2938 (varpool_node_for_asm): Likewise.
2939 (varpool_assemble_pending_decls): Likewise.
2940
8b7db259
RG
29412012-04-16 Richard Guenther <rguenther@suse.de>
2942
2943 PR tree-optimization/52975
2944 * tree-if-conv.c (predicate_bbs): Do not simplify inverted
2945 condition but always mark it with TRUTH_NOT_EXPR.
6c381d9d 2946
2515d916
RG
29472012-04-16 Richard Guenther <rguenther@suse.de>
2948
2949 PR tree-optimization/52975
2950 * tree-ssa-forwprop.c (combine_cond_exprs): New function.
2951 (ssa_forward_propagate_and_combine): Call it for COND_EXPRs
2952 and VEC_COND_EXPRs. Also combine into VEC_COND_EXPRs condition.
2953 * fold-const.c (operand_equal_p): Handle TARGET_MEM_REF.
2954
8861ba4d
UB
29552012-04-14 Uros Bizjak <ubizjak@gmail.com>
2956
2957 * config/i386/sse.md (ssse3_plusminus): New code iterator.
2958 (avx2_ph<plusminus_mnemonic>wv16hi3): Macroize insn from
2959 avx2_ph{add,adds,sub,subs}wv16hi3 using ssse3_plusminus code iterator.
2960 (ssse3_ph<plusminus_mnemonic>wv8hi3): Macroize insn from
2961 ssse3_ph{add,adds,sub,subs}wv8hi3 using ssse3_plusminus code iterator.
2962 (ssse3_ph<plusminus_mnemonic>wv4hi3): Macroize insn from
2963 ssse3_ph{add,adds,sub,subs}wv4hi3 using ssse3_plusminus code iterator.
2964
2965 (avx2_ph<plusminus_mnemonic>dv8si3): Macroize insn from
2966 avx2_ph{add,adds,sub,subs}dv8si3 using plusminus code iterator.
2967 (ssse3_ph<plusminus_mnemonic>dv4si3): Macroize insn from
2968 ssse3_ph{add,adds,sub,subs}dv4si3 using plusminus code iterator.
2969 (ssse3_ph<plusminus_mnemonic>dv2si3): Macroize insn from
2970 ssse3_ph{add,adds,sub,subs}dv2si3 using plusminus code iterator.
2971
2972 (xop_plus): New code iterator.
2973 (macs): New code attribute.
2974 (macds): Ditto.
2975 (xop_p<macs><ssemodesuffix><ssemodesuffix>): Macroize insn from
2976 xop_pmacs{,s}{ww,dd} using xop_plus code iterator and VI24_128 mode
2977 iterator.
2978 (xop_p<macs>dql): Macroize insn from xop_pmacs{,s}dql using
2979 xop_plus code iterator.
2980 (xop_p<macs>dqh): Macroize insn from xop_pmacs{,s}dqh using
2981 xop_plus code iterator.
2982 (xop_p<macs>wd): Macroize insn from xop_pmacs{,s}wd using
2983 xop_plus code iterator.
2984 (xop_p<madcs>wd): Macroize insn from xop_pmadcs{,s}wd using
2985 xop_plus code iterator.
2986
2987 (xop_phadd<u>bw): Macroize insn from xop_phadd{,u}bw usign
2988 any_extend code iterator.
2989 (xop_phadd<u>bd): Macroize insn from xop_phadd{,u}bd usign
2990 any_extend code iterator.
2991 (xop_phadd<u>bq): Macroize insn from xop_phadd{,u}bq usign
2992 any_extend code iterator.
2993 (xop_phadd<u>wd): Macroize insn from xop_phadd{,u}wd usign
2994 any_extend code iterator.
2995 (xop_phadd<u>wq): Macroize insn from xop_phadd{,u}wq usign
2996 any_extend code iterator.
2997 (xop_phadd<u>dq): Macroize insn from xop_phadd{,u}dq usign
2998 any_extend code iterator.
2999
03fbe718
TV
30002012-04-14 Tom de Vries <tom@codesourcery.com>
3001
3002 * cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
3003 call to delete_insn. Remove code to reorder BASIC_BLOCK note and
3004 DELETED_LABEL note, and move it to ...
3005 * cfgrtl.c (delete_insn): ... here. Change return type to void.
3006 (delete_insn_and_edges): Likewise.
3007 (delete_insn_chain): Handle new return type of delete_insn. Delete
3008 chain backwards rather than forwards.
3009 * rtl.h (delete_insn, delete_insn_and_edges): Change return type to
3010 void.
3011 * cfglayout.c (fixup_reorder_chain): Delete unused label.
3012
960bfb69
JH
30132012-04-14 Jan Hubicka <jh@suse.cz>
3014
3015 * cgraph.h: Update copyrights;
3016 (symtab_node): Turn to union typedef.
3017 (symtab_node_base): New structure.
3018 (symtab_type): Add SYMTAB_SYMBOL tag.
3019 (cgraph_node): Annotate some pinters with nested_ptr.
3020 (varpool_node): Likewise.
3021 (cgraph_local_info): Remove lto_file_data
3022 and externally_visible.
3023 (cgraph_node): Remove decl; same_comdat_group list;
3024 aux; ref_list; order; address_taken; reachable_from_other_parittion,
3025 in_other_partition; resolution.
3026 (varpool_node): Remove decl; same_comdat_group;
3027 ref_list; lto_file_data; aux; order; resolution; externally_visible;
3028 used_from_other_partition; in_other_partition.
49c45e28 3029 (symtab_node_def): New union.
960bfb69
JH
3030 (cgraph, varpool): Update.
3031 (varpool_first_static_initializer, varpool_next_static_initializer,
3032 cgraph_only_called_directly_or_aliased_p,
3033 varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
3034 varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
3035 varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
3036 field references.
3037 * cgraph.c: Likewise.
3038 (cgraph_hash, assembler_name_hash): Turn into symtab_node.
3039 * cgraphbuild.c: Likewise.
3040 * lto-symtab.c: Likewise.
3041 * c-gimplify.c: Likewise.
3042 * value-prof.c: Likewise.
3043 * tree.c: Likewise.
3044 * ipa-cp.c: Likewise.
3045 * tree-emutls.c: Likewise.
3046 * ipa-inline-transform.c: Likwise.
3047 * ipa-reference.c: Likewise.
3048 * cgraphunit.c: Likewise.
3049 * ipa-ref.c: Likewise.
3050 * lto-cgraph.c: Likewise.
3051 * ipa-ref-inline.h: Likewise.
3052 * ipa-pure-const.c: Likewise.
3053 * lto-streamer-out.c: Likewise.
3054 * ipa-utils.c: Likewise.
3055 * ipa-inline.c: Likewise.
3056 * matrix-reorg.c: Likewise.
3057 * tree-eh.c: Likewise.
3058 * tree-vectorizer.c: Likewise.
3059 * ipa-split.c: Likewise.
3060 * ipa.c: Likewise.
3061 * trans-mem.c: Likewise.
3062 * ipa-inline-analysis.c: Likewise.
3063 * gimplify.c: Likewise.
3064 * cfgexpand.c: Likewise.
3065 * tree-sra.c: Likewise.
3066 * ipa-prop.c: Likewise.
3067 * varasm.c: Likewise.
3068 * tree-nested.c: Likewise.
3069 * tree-inline.c: Likewise.
3070 * tree-profile.c: Likewise.
3071 * tree-ssa-structalias.c: Likewise.
3072 * passes.c: Likewise.
3073 * varpool.c: Likewise.
3074
b2b2f160
TV
30752012-04-14 Tom de Vries <tom@codesourcery.com>
3076
3077 * tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
3078 same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
3079 Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
3080 of find_edge.
3081 (gsi_advance_fw_nondebug_nonlocal): New function.
3082 (local_def): Removed function.
3083 (same_succ_hash): Use stmt_local_def.
3084 (same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
3085 (gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
3086
6573c644
L
30872012-04-13 H.J. Lu <hongjiu.lu@intel.com>
3088
3089 * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
3090 and __ILP32__ for x32.
3091
8e8483e6
MJ
30922012-04-13 Martin Jambor <mjambor@suse.cz>
3093
3094 PR middle-end/52939
3095 * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
3096 fold_ctor_reference returns a zero constant.
3097
70a69509
EI
30982012-04-13 Enkovich Ilya <ilya.enkovich@intel.com>
3099
3100 * config.gcc: Add i386/gnu-user-common.h before all
3101 i386/gnu-user.h and i386/gnu-user64.h usages.
3102
3103 * config/i386/gnu-user-common.h: New.
3104
3105 * config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
3106 (CC1_SPEC): Likewise.
3107 (ENDFILE_SPEC): Likewise.
3108 (DEFAULT_PCC_STRUCT_RETURN): Likewise.
3109 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
3110 (TARGET_OS_CPP_BUILTINS): Likewise.
3111 (LIBGCC2_HAS_TF_MODE): Likewise.
3112 (LIBGCC2_TF_CEXT): Likewise.
3113 (TF_SIZE): Likewise.
3114 (TARGET_ASM_FILE_END): Likewise.
3115 (STACK_CHECK_MOVING_SP): Likewise.
3116 (STACK_CHECK_STATIC_BUILTIN): Likewise.
3117 * config/i386/gnu-user64.h: Likewise.
3118
65dc645a
MJ
31192012-04-13 Martin Jambor <mjambor@suse.cz>
3120
3121 * expr.c (expand_expr_real_1): Pass type, not the expression, to
3122 set_mem_attributes for a memory temporary. Do not call the function
3123 for the memory temporary created for a bitfield.
3124
1adbb361
AO
31252012-04-13 Alexandre Oliva <aoliva@redhat.com>
3126
3127 PR debug/48866
3128 * df.h (enum debug_temp_where): New.
3129 (dead_debug_init, dead_debug_finish) Declare.
3130 (dead_debug_add, dead_debug_insert_temp): Declare.
3131 (struct dead_debug_use, struct dead_debug): Moved from...
3132 * df-problems.c: ... here.
3133 (df_set_unused_notes_for_mw): Bind debug uses of unused regno
3134 to a debug temp.
3135 (df_create_unused_note): Likewise.
3136 (df_set_dead_notes_for_mw): Move comment where it belongs.
3137 (dead_debug_init): Export.
3138 (dead_debug_reset_uses): New, factored out of...
3139 (dead_debug_finish): ...this. Export.
3140 (dead_debug_reset): Remove.
3141 (dead_debug_add): Export.
3142 (dead_debug_insert_before): Rename to...
3143 (dead_debug_insert_temp): ... this. Add where argument. Export.
3144 Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
3145 Return insertion count.
3146 (df_note_bb_compute): Adjust.
3147 * dce.c (word_dce_process_block): Adjust dead debug uses.
3148 (dce_process_block): Likewise.
3149
6ae1d471
AO
31502012-04-13 Alexandre Oliva <aoliva@redhat.com>
3151
3152 * df-problems.c (df_note_bb_compute): Do not take note of
3153 debug uses for whose REGs we won't emit DEAD or UNUSED notes.
3154
6a184afa
AO
31552012-04-13 Alexandre Oliva <aoliva@redhat.com>
3156
3157 PR debug/51570
3158 * var-tracking.c (expand_depth): New type.
3159 (onepart_aux, expand_loc_callback_data): Change depth type to it.
3160 (loc_exp_dep_alloc): Adjust initializer.
3161 (update_depth): Use new type. Add entryvals.
3162 (vt_expand_var_loc_chain): Take note of expansions with
3163 ENTRY_VALUEs, but don't accept them right away. Run an optional
3164 second pass accepting the minimum ENTRY_VALUE count found in the
3165 first pass.
3166 (vt_expand_loc_callback, INIT_ELCD): Adjust.
3167
46301137
TV
31682012-04-13 Tom de Vries <tom@codesourcery.com>
3169
3170 * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
3171 parameters vuse and vuse_escaped.
3172 (find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
3173 gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
3174 vuse1 != vuse2.
3175
95df37bf
RG
31762012-04-13 Richard Guenther <rguenther@suse.de>
3177
3178 PR tree-optimization/52969
3179 * tree-if-conv.c (predicate_mem_writes): Properly gimplify
3180 the condition for the COND_EXPR and handle predicate negation
3181 by swapping the COND_EXPR arms.
3182
7911cc9e
NC
31832012-04-13 Nick Clifton <nickc@redhat.com>
3184
3185 * config/rl78/rl78.c (rl78_devirt_pass): Remove use of
3186 TODO_dump_func flag.
3187
d66b8f4b
AB
31882012-04-13 Andrey Belevantsev <abel@ispras.ru>
3189
3190 PR rtl-optimization/52203
3191 PR rtl-optimization/52715
3192
3193 Revert the 2012-03-07 fix for PR 52203.
3194 * sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
3195 the insn does not modify DFA right before issuing, adjust
3196 issue_rate accordingly.
3197
1e867b22
RG
31982012-04-13 Richard Guenther <rguenther@suse.de>
3199
3200 PR c/52549
3201 * c-typeck.c (pointer_diff): Remove bogus assert.
3202
09c2b6d0
RG
32032012-04-13 Richard Guenther <rguenther@suse.de>
3204
3205 PR c/52862
8861ba4d 3206 * convert.c (convert_to_pointer): Remove special-casing of zero.
09c2b6d0 3207
572a49c8
JY
32082012-04-13 Joey Ye <joey.ye@arm.com>
3209
3210 * config/arm/constraints.md (Pe): New constraint.
3211 * config/arm/arm.md: New split for imm 256-510.
3212
50f75124
TG
32132012-04-13 Terry Guo <terry.guo@arm.com>
3214
3215 * config/arm/arm-cores.def: Added core cortex-m0plus.
3216 * config/arm/arm-tune.md: Regenerated.
3217 * config/arm/arm-tables.opt: Regenerated.
3218 * doc/invoke.texi: Added entry for cpu ARM cortex-m0plus.
3219
e8e029df
AM
32202012-04-13 Alan Modra <amodra@gmail.com>
3221
3222 PR target/52828
3223 * config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
3224 tie regs on destination of sets. Delete forward declaration.
3225 (rs6000_emit_stack_reset): Update rs6000_emit_stack_tie calls.
3226 (rs6000_emit_prologue): Likewise.
3227 (rs6000_emit_epilogue): Likewise. Use in place of gen_frame_tie
3228 and gen_stack_tie.
3229 (is_mem_ref): Use tie_operand to recognise stack ties.
3230 * config/rs6000/predicates.md (tie_operand): New.
3231 * config/rs6000/rs6000.md (restore_stack_block): Generate new
3232 stack tie rtl.
3233 (restore_stack_nonlocal): Likewise.
3234 (stack_tie): Update.
3235 (frame_tie): Delete.
3236
1ede5f2c
BS
32372012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3238
3239 * tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to
3240 HOST_WIDE_INT_PRINT_DEC in format strings.
3241
2ff5ea2d
UB
32422012-04-12 Uros Bizjak <ubizjak@gmail.com>
3243
3244 PR target/52932
3245 * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
3246 argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
3247 * config/i386/sse.md (UNSPEC_VPERMVAR): New.
3248 (UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
3249 (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
3250 (avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
3251 avx2_permvarv8si using VI4F_256 mode iterator.
3252 * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
3253 Update builtin type to V8SF_FTYPE_V8SF_V8SI.
3254 (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
3255 gen_avx2_permvarv8sf.
3256 (expand_vec_perm_pshufb): Ditto.
3257
c3f8384f
MM
32582012-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
3259
3260 PR target/52775
3261 * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
3262 the list of options to enable the FCFID instruction.
3263 (TARGET_EXTRA_BUILTINS): Adjust comment.
3264
a6f8851e
BS
32652012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3266
3267 PR tree-optimization/18589
3268 * tree-ssa-reassoc.c (reassociate_stats): Add two fields.
3269 (operand_entry): Add count field.
3270 (add_repeat_to_ops_vec): New function.
3271 (completely_remove_stmt): Likewise.
3272 (remove_def_if_absorbed_call): Likewise.
3273 (remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
3274 (acceptable_pow_call): New function.
3275 (linearize_expr_tree): Look for builtin pow/powi calls and add operand
3276 entries with repeat counts when found.
3277 (repeat_factor_d): New struct and associated typedefs.
3278 (repeat_factor_vec): New static vector variable.
3279 (compare_repeat_factors): New function.
3280 (get_reassoc_pow_ssa_name): Likewise.
3281 (attempt_builtin_powi): Likewise.
3282 (reassociate_bb): Call attempt_builtin_powi.
3283 (fini_reassoc): Two new calls to statistics_counter_event.
3284
452aa9c5
RG
32852012-04-12 Richard Guenther <rguenther@suse.de>
3286
3287 * Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
3288 * cgraph.h (tree_rest_of_compilation): Remove.
3289 * cgraph.c (cgraph_add_new_function): Move ...
3290 * cgraphunit.c (cgraph_add_new_function): ... here.
3291 (tree_rest_of_compilation): Make static.
3292 (cgraph_expand_function): Do not set cgraph_function_flags_ready.
3293 * tree-optimize.c (gate_all_optimizations, pass_all_optimizations,
3294 gate_all_early_local_passes, execute_all_early_local_passes,
3295 pass_early_local_passes, gate_all_early_optimizations,
3296 pass_all_early_optimizations): Move ...
3297 * passes.c (gate_all_optimizations, pass_all_optimizations,
3298 gate_all_early_local_passes, execute_all_early_local_passes,
3299 pass_early_local_passes, gate_all_early_optimizations,
3300 pass_all_early_optimizations): ... here.
3301 * tree-optimize.c (execute_free_datastructures): Remove.
3302 * tree-flow.h (execute_free_datastructures): Remove.
3303 * tree-optimize.c (execute_init_datastructures,
3304 pass_init_datastructures): Move ...
3305 * tree-ssa.c (execute_init_datastructures,
3306 pass_init_datastructures): ... here.
3307 * cfgexpand.c (gimple_expand_cfg): Inline-expand call to
3308 execute_free_datastructures.
3309
acf41a74
BS
33102012-04-12 Bernd Schmidt <bernds@codesourcery.com>
3311
3312 * dbgcnt.def (ira_move): New counter.
3313 * ira-int.h (ira_create_new_reg): Declare function.
3314 (first_moveable_pseudo, last_moveable_pseudo): Declare variables.
3315 * ira-emit.c (ira_create_new_reg): Renamed from craete_new_reg and
3316 no longer static. All callers changed.
3317 * ira.c: Include "dbgcnt.h".
3318 (rtx_moveable_p, insn_dominated_by_p, find_moveable_pseudos,
3319 move_unallocated_pseudos): New static functions.
3320 (first_moveable_pseudo, last_moveable_pseudo): New global variables.
3321 (pseudo_replaced_reg, pseudo_move_insn): New static variables.
3322 (ira): Call find_moveable_pseudos and move_unallocated_pseudos.
3323 * ira-costs.c (find_costs_and_classes): Assign a memory cost of zero
3324 to the pseudos generated in find_moveable_pseudos.
3325 * Makefile.in (ira.o): Add $(DBGCNT_H).
3326
5f1fab58
RG
33272012-04-12 Richard Guenther <rguenther@suse.de>
3328
3329 PR tree-optimization/52943
3330 * tree-chrec.h (chrec_is_positive): Remove.
3331 * tree-scalar-evolution.c (chrec_is_positive): Move ...
3332 * tree-data-ref.c (chrec_is_positive): ... here. Make static.
3333 Return false for a constant zero instead of negative.
3334 (analyze_siv_subscript_cst_affine): Handle zero difference
3335 in the initial condition explicitely.
3336
e5b332cd
RG
33372012-04-12 Richard Guenther <rguenther@suse.de>
3338
3339 * tree-parloops.c (parallelize_loops): Also consult the upper
3340 bound for the number of iterations.
3341 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
3342 (loop_prefetch_arrays): Likewise.
3343
652c4c71
RG
33442012-04-12 Richard Guenther <rguenther@suse.de>
3345
3346 * cfgloop.h (estimated_loop_iterations_int): Ditch
3347 'conservative' parameter.
3348 (max_stmt_executions_int): Likewise.
3349 (estimated_loop_iterations): Likewise.
3350 (max_stmt_executions): Likewise.
3351 (max_loop_iterations): Declare.
3352 (max_loop_iterations_int): Likewise.
3353 (estimated_stmt_executions): Likewise.
3354 (estimated_stmt_executions_int): Likewise.
3355 * tree-ssa-loop-niter.c (estimated_loop_iterations):
3356 Split parts to ...
3357 (max_loop_iterations): ... this.
3358 (estimated_loop_iterations_int): Split parts to ...
3359 (max_loop_iterations_int): ... this.
3360 (max_stmt_executions_int): Split parts to ...
3361 (estimated_stmt_executions_int): ... this.
3362 (max_stmt_executions): Split parts to ...
3363 (estimated_stmt_executions): ... this.
3364 * graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
3365 * predict.c (predict_loops): Likewise.
3366 * tree-data-ref.c (max_stmt_executions_tree): Likewise.
3367 (analyze_siv_subscript_cst_affine): Likewise.
3368 (compute_overlap_steps_for_affine_1_2): Likewise.
3369 (analyze_subscript_affine_affine): Likewise.
3370 (init_omega_for_ddr_1): Likewise.
3371 * tree-parloops.c (parallelize_loops): Likewise.
3372 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
3373 (may_eliminate_iv): Likewise.
3374 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
3375 (loop_prefetch_arrays): Likewise.
3376 * tree-vrp.c (adjust_range_with_scev): Likewise.
3377
23d0939b
OE
33782012-04-12 Oleg Endo <olegendo@gcc.gnu.org>
3379
3380 * config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
3381 * config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
3382 Fix line width.
3383 (dump_table): Use bool type for need_align and have_df variables.
3384 (find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
3385 (regs_used): Remove register modifier.
3386 (barrier_align): Move variables slot, credit, jump_to_next
3387 into if block above for loop. Use bool type for jump_to_next.
3388 (sh_function_arg): Use NULL_RTX instead of 0.
3389
dee16055
AS
33902012-04-11 Andreas Schwab <schwab@linux-m68k.org>
3391
3392 * config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
3393 (bswapsi2): New expander.
3394
98bf0377
L
33952012-04-11 H.J. Lu <hongjiu.lu@intel.com>
3396
3397 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
3398 0x60000000 if __x86_64 is defined and __LP64__ isn't defined.
3399
de6f3f7a
L
34002012-04-11 H.J. Lu <hongjiu.lu@intel.com>
3401
3402 PR rtl-optimization/52876
3403 * emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
27dd0a95 3404 Don't call mark_reg_pointer for incompatible pointer sign extension.
de6f3f7a 3405
dee16055 3406 * reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value
de6f3f7a
L
3407 directly.
3408
d3ea1dbd
BS
34092012-04-11 Bernd Schmidt <bernds@codesourcery.com>
3410
3411 * fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
3412 comparisons against TYPE_PRECISION.
3413 * tree-ssa-forwprop.c (combine_conversions): Likewise.
3414
c634f4ba
XDL
34152012-04-11 Xinliang David Li <davidxl@google.com>
3416
3417 * tree-passes.h: Remove TODO_dump_func.
3418 * tree-ssa-tail-merge.c (tail_merge_optimize): Remove TODO_dump_func.
3419 * trans-mem.c: Remove TODO_dump_func.
3420 * ira.c: Remove TODO_dump_func.
3421
ed6205b7
L
34222012-04-11 H.J. Lu <hongjiu.lu@intel.com>
3423
3424 * config/i386/i386.c (ix86_option_override_internal): Check
3425 SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
3426 after TARGET_64BIT is updated.
3427
a1fa0e6c
OE
34282012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
3429
3430 * config/sh/sh.h: Remove old secondary reload code.
3431
e6b8b8c7
OE
34322012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
3433
3434 * config/sh/sh.c (SCHED_REORDER): Merge macro into ...
3435 (ready_reorder): ... this function.
3436
7861732f
BS
34372012-04-11 Bernd Schmidt <bernds@codesourcery.com>
3438
3439 * sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
3440 sched_init calls.
3441
05641603
BS
3442 * haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
3443 insns so that no other insn is queued for a time before them.
3444
0c51653d
BS
3445 * config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
3446 unknown.
3447
754870ed
RG
34482012-04-11 Richard Guenther <rguenther@suse.de>
3449
3450 PR middle-end/52621
3451 * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
3452 consider loop nesting.
3453 (evolution_function_is_univariate_p): Properly check the remainder
3454 for chrecs.
3455
405af656
RG
34562012-04-11 Richard Guenther <rguenther@suse.de>
3457
3458 PR middle-end/52918
2ff5ea2d 3459 * except.c (sjlj_emit_dispatch_table): Properly update loop structure.
405af656 3460
cf5025b6
NC
34612012-04-11 Nick Clifton <nickc@redhat.com>
3462
3463 * config/rl78/rl78.c (rl78_expand_prologue): Set stack use
3464 information, if requested.
3465
84e60183
NC
3466 * config/rx/rx.c (rx_expand_prologue): Likewise.
3467
7bc14a04
PB
34682012-04-11 Peter Bergner <bergner@vnet.ibm.com>
3469 Michael Matz <matz@suse.de>
3470
3471 PR target/16458
3472 * rtlanal.c (unsigned_reg_p): New function.
3473 Update copyright notice dates.
3474 * rtl.h (unsigned_reg_p): Prototype it.
3475 Update copyright notice dates.
3476 * config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
3477 Update comment.
3478 * expr.c (expand_expr_real_1): Set register attributes.
3479 * stmt.c (expand_case): Likewise.
3480
8c2a3f3b
OE
34812012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
3482
3483 PR target/50751
3484 * config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
3485 consider_sh2a and allow_zero.
3486 * config/sh/sh.c (sh_legitimate_index_p): Likewise.
3487 (disp_addr_displacement): New function.
3488 (sh_address_cost): Use disp_addr_displacement function instead
3489 of DISP_ADDR_OFFSET.
3490 (sh_legitimate_address_p): Adapt to changed
3491 sh_legitimate_index_p declaration.
3492 (sh_find_mov_disp_adjust): Remove HImode check.
3493 (sh_secondary_reload): Add HImode case. Use satisfies_constraint_Sdd,
3494 disp_addr_displacement and max_mov_insn_displacement.
3495 (max_mov_insn_displacement): Remove HImode check.
cf5025b6 3496 * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
8c2a3f3b
OE
3497 DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
3498 * config/sh/constraints.md (K05, K13): New constraints.
3499 (K12): Correct comment.
3500 (Sdd): Do not use DISP_ADDR_P macro.
3501 (Snd, Sbw): Use satisfies_constraint_Sdd.
3502 * config/sh/sh.md (extendhisi2): Remove constraints from expander.
3503 (*extendhisi2_compact, movhi_i): Remove.
3504 (*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
3505 *extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
3506 *movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
3507 *movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
3508 (*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
3509 *movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
3510 *movqi_load_mem_disp): Use sh_legitimate_index_p instead of
3511 CONST_OK_FOR_Kxx.
3512 Add new peepholes for HImode displacement addressing.
3513
32ed5fcc
OE
35142012-04-11 Oleg Endo <olegendo@gcc.gnu.org>
3515
3516 * config/sh/sh.h (SIDI_OFF): Remove.
3517 * config/sh/sh.md: Use gen_highpart and gen_lowpart to access
3518 DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
3519 or operand_subword.
3520
ac868f29
EB
35212012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3522
3523 PR target/52624
3524 * doc/extend.texi (Other Builtins): Document __builtin_bswap16.
3525 (PowerPC AltiVec/VSX Built-in Functions): Remove it.
3526 * doc/md.texi (Standard Names): Add bswap.
3527 * builtin-types.def (BT_UINT16): New primitive type.
3528 (BT_FN_UINT16_UINT16): New function type.
3529 * builtins.def (BUILT_IN_BSWAP16): New.
3530 * builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
3531 (expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to
3532 expand_builtin_bswap.
3533 (fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
3534 (fold_builtin_1): Likewise.
3535 (is_inexpensive_builtin): Likewise.
3536 * optabs.c (expand_unop): Deal with bswap in HImode specially. Add
3537 missing bits for bswap to libcall code.
3538 * tree.c (build_common_tree_nodes): Build uint16_type_node.
3539 * tree.h (enum tree_index): Add TI_UINT16_TYPE.
3540 (uint16_type_node): New define.
3541 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
3542 * config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
3543 above builtin.
3544 (rs6000_init_builtins): Likewise.
3545 * config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
3546
ada37101
TG
35472012-04-11 Tristan Gingold <gingold@adacore.com>
3548
3549 * doc/extend.texi (Type Attributes): Move paragraph.
3550
9fec0042
MLI
35512012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3552
3553 PR 24985
dee16055 3554 * diagnostic.h (show_caret): Declare.
9fec0042
MLI
3555 (caret_max_width): Declare.
3556 (diagnostic_show_locus): Declare.
dee16055
AS
3557 * diagnostic.c (diagnostic_initialize): Initialize to false.
3558 (diagnostic_show_locus): New.
3559 (diagnostic_report_diagnostic): Call it.
9fec0042
MLI
3560 (getenv_columns): New.
3561 (adjust_line): New.
3562 (diagnostic_set_caret_max_width): New.
dee16055 3563 * input.c (read_line): New.
9fec0042 3564 (location_get_source_line): New.
dee16055
AS
3565 * input.h (location_get_source_line): Declare.
3566 * toplev.c (general_init): Initialize show_caret from options.
3567 * dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
3568 * opts.c (common_handle_option): Likewise.
9fec0042
MLI
3569 * pretty-print.h (pp_get_prefix): New.
3570 (pp_base_get_prefix): New.
dee16055 3571 * common.opt (fdiagnostics-show-caret): New option.
9fec0042
MLI
3572 * doc/invoke.texi (fdiagnostics-show-caret): Document it.
3573
13a7578b
RG
35742012-04-11 Richard Guenther <rguenther@suse.de>
3575
3576 PR rtl-optimization/52881
3577 * ifcvt.c (find_if_case_2): Avoid speculating loop latches.
3578
12df9a2f
RG
35792012-04-11 Richard Guenther <rguenther@suse.de>
3580
3581 PR tree-optimization/52912
3582 * tree-ssa-threadupdate.c (thread_block): Tell the cfg
3583 manipulation code we are threading through a loop header
3584 to an exit destination.
3585
fd4116f4
MLI
35862012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3587
3588 * tree.h (warn_if_unused_value): Move declaration from here.
3589 * stmt.c (warn_if_unused_value): Move definition from here.
3590
0d0293ac
MM
35912010-04-10 Michael Matz <matz@suse.de>
3592
3593 * tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to
3594 grouped_stores.
3595 (LOOP_VINFO_STRIDED_STORES): Rename to LOOP_VINFO_GROUPED_STORES.
3596 (struce _bb_vec_info.strided_stores): Rename to grouped_stores.
3597 (BB_VINFO_STRIDED_STORES): Rename to BB_VINFO_GROUPED_STORES.
3598 (STMT_VINFO_STRIDED_ACCESS): Rename to STMT_VINFO_GROUPED_ACCESS.
3599 (vect_strided_store_supported): Rename to vect_grouped_store_supported.
3600 (vect_strided_load_supported): Rename to vect_grouped_load_supported.
3601 (vect_transform_strided_load): Rename to vect_transform_grouped_load.
3602 (vect_record_strided_load_vectors): Rename to
3603 vect_record_grouped_load_vectors.
3604 * tree-vect-data-refs.c (vect_update_misalignment_for_peel):
3605 Rename use of above macros.
3606 (vect_verify_datarefs_alignment): Ditto.
3607 (vector_alignment_reachable_p): Ditto.
3608 (vect_peeling_hash_get_lowest_cost): Ditto.
3609 (vect_enhance_data_refs_alignment): Ditto.
3610 (vect_analyze_group_access): Ditto and rename stride to groupsize.
3611 (vect_analyze_data_ref_access): Rename "strided" to "grouped".
3612 (vect_strided_store_supported): Rename to vect_grouped_store_supported.
3613 (vect_strided_load_supported): Rename to vect_grouped_load_supported.
3614 (vect_transform_strided_load): Rename to vect_transform_grouped_load.
3615 (vect_record_strided_load_vectors): Rename to
3616 vect_record_grouped_load_vectors.
3617 * tree-vect-loop.c (new_loop_vec_info): Rename use of above macros.
3618 (destroy_loop_vec_info): Ditto.
3619 (vect_transform_loop): Ditto and rename strided_store to grouped_store.
3620 * tree-vect-slp.c (vect_build_slp_tree): Rename use of above macros.
3621 (vect_analyze_slp): Ditto.
3622 (new_bb_vec_info): Ditto.
3623 (destroy_bb_vec_info): Ditto.
3624 (vect_schedule_slp_instance): Ditto and rename strided_store to
3625 grouped_store.
3626 * tree-vect-stmts.c (vect_cost_strided_group_size): Rename to
3627 vect_cost_group_size.
3628 (vect_model_store_cost): Rename use of above macros and call
3629 to vect_cost_strided_group_size.
3630 (vect_model_load_cost): Ditto.
3631 (vectorizable_store): Ditto, rename strided_store to grouped_store
3632 and calls to renamed tree-vectorizer.h functions.
3633 (vectorizable_load): Ditto.
3634 (vect_transform_stmt): Rename use of above macros and strided_store
3635 to grouped_store.
3636
1f00098b
JH
36372012-04-10 Jan Hubicka <jh@suse.cz>
3638
3639 * cgraph.h: Remove misledaing comment on ipa-ref.h.
3640 (symtab_type): New enum.
3641 (symtab_node): New structure.
3642 (cgraph_node, varpool_node): Add symbol base type.
3643 (cgraph, varpool): New accestor functions.
3644 * cgraph.c (cgraph_create_node_1): Set symbol type.
3645 * varpool.c (varpool_node): Set symbol type.
3646
ca18edc5
UW
36472012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
3648 Richard Sandiford <rdsandiford@googlemail.com>
3649
3650 * fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
3651
e30459d5
RG
36522012-04-10 Richard Guenther <rguenther@suse.de>
3653
3654 PR middle-end/52888
3655 * gimple-low.c (gimple_check_call_args): Properly account for
3656 compatible aggregate types.
3657
0878843f
RG
36582012-04-10 Richard Guenther <rguenther@suse.de>
3659
3660 * toplev.h (tree_rest_of_compilation): Remove.
3661 * tree-optimize.c (tree_rest_of_compilation): Likewise.
3662 * cgraph.h (tree_rest_of_compilation): Declare.
3663 * tree-optimize.c (tree_rest_of_compilation): Move ...
3664 * cgraphunit.c (tree_rest_of_compilation): ... here.
3665 * cgraph.c (cgraph_add_new_function): Adjust.
3666 * Makefile.in (tree-optimize.o): Adjust.
3667 (cgraphunit.o): Likewise.
3668
c0d942d2
UW
36692012-04-10 Ulrich Weigand <ulrich.weigand@linaro.org>
3670
3671 PR tree-optimization/52870
3672 * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
3673 presumed pattern statement is within the same loop or basic block.
3674
5973ae1a
TG
36752012-04-10 Tristan Gingold <gingold@adacore.com>
3676
3677 * gengtype.c (main): Make uintptr_t a known type.
3678
26eb69c6
RG
36792012-04-10 Richard Guenther <rguenther@suse.de>
3680
3681 * tree-pass.h (tree_lowering_passes): Remove.
3682 * tree-optimize.c (tree_lowering_passes): Remove.
3683 * cgraph.c (cgraph_add_new_function): Inline relevant parts
2ff5ea2d 3684 of tree_lowering_passes, avoid redundant call of early local passes.
26eb69c6
RG
3685 * cgraphunit.c (cgraph_lower_function): Fold into ...
3686 (cgraph_analyze_function): ... its single caller. Inline
3687 relevant parts of tree_lowering_passes.
3688
3271a0c0
L
36892012-04-09 H.J. Lu <hongjiu.lu@intel.com>
3690
3691 PR other/52777
3692 * config/pa/pa.opt: Remove SIO and GNU_LD.
3693
3c56b037
JH
36942012-04-09 Jan Hubicka <jh@suse.cz>
3695
3696 PR lto/52722
3697 PR lto/51765
dee16055 3698 PR lto/52634
2ff5ea2d
UB
3699 * lto-cgraph.c (compute_ltrans_boundary): When alias is in the
3700 boundary, add its target too.
3c56b037
JH
3701 * lto.c (add_references_to_partition): Add also aliased nodes.
3702 (add_cgraph_node_to_partition,
3703 add_varpool_node_to_partition): Work on nodes, not functions/variables;
3704 when adding alias, add also the aliased object.
3705
3cb2b15b
UB
37062012-04-09 Uros Bizjak <ubizjak@gmail.com>
3707
3708 PR target/52883
3709 * config/i386/predicates.md (x86_64_zext_general_operand): Prevent
3710 VOIDmode immediate operands.
3711 * config/i386/constraints.md (Wz): New constraint.
3712 * config/i386/i386.md (*zero_extendsidi2_rex64): Use Wz instead of Z.
3713
5ff5b41c
EB
37142012-04-09 Eric Botcazou <ebotcazou@adacore.com>
3715
3716 PR target/52717
3717 * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
3718 the DECL generated for the special GOT helper.
3719
7df2d73c
OE
37202012-04-09 Oleg Endo <olegendo@gcc.gnu.org>
3721
3722 * config/sh/constraints.md: Update list of constraints in
3723 comment block.
3724 (Sr0): Remove unused memory constraint.
3725
8772bd54
MLI
37262012-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3727
3728 * tree-pretty-print.h: Update comment.
3729
6b45f126
OE
37302012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
3731
4f3dfa27
OE
3732 * config/sh/sh.md: Use braced string notation where applicable.
3733 (*prefetch_i4, prefetch_m2a): Merge into ...
6b45f126
OE
3734 (*prefetch): ... this new insn.
3735
fae61228
OE
37362012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
3737
3738 * config/sh/sh.h (high_life_started): Remove
3739 * config/sh/predicates.md (general_movdst_operand): Use
3740 'reload_in_progress' instead of 'high_life_started'.
3741 * config/sh/sh.md (divsi_inv_call, *divsi_inv_call_combine,
3742 divsi_inv_fp): Likewise.
3743
2ef6611e
OE
37442012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
3745
3746 * config/sh/sh-protos.h (prepare_move_operands): Return void
3747 instead of int.
3748 * config/sh/sh.c (prepare_move_operands): Likewise.
3749 * config/sh/sh.md: Remove return value checks of prepare_move_operands.
3750
df4f5d5f
OE
37512012-04-07 Oleg Endo <olegendo@gcc.gnu.org>
3752
3753 * config/sh/sh-protos.h (fp_int_operand, symbol_ref_operand,
3754 general_movsrc_operand, general_movdst_operand, arith_reg_operand,
3755 fp_arith_reg_operand, arith_operand, arith_reg_or_0_operand,
3756 logical_operand, fpscr_operand, fpul_operand, expand_fp_branch,
3757 commutative_float_operator, noncommutative_float_operator,
3758 sh_handle_pragma): Remove.
3759
f2dcf9b8
SL
37602012-04-06 Sandra Loosemore <sandra@codesourcery.com>
3761
3762 * doc/invoke.texi: Clean up Texinfo markup throughout the file.
3763 Use @option markup on command-line options. Use @samp markup on
3764 literal keywords to options. Use @code markup on code fragments.
3765 Use other markup in preference to quotation marks in the text.
3766 Add markup to some passages without any.
3767
d25c4172
MS
37682012-04-06 Mike Stump <mikestump@comcast.net>
3769
3770 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Avoid warning.
3771
bdb7ddcc
OE
37722012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
3773
3774 * config/sh/sh.c (hi_const): Remove.
3775 (find_barrier, sh_reorg): Use satisfies_constraint_I16 instead
3776 of hi_const.
3777
10c17a58
OE
37782012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
3779
3780 * config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int
3781 to bool.
3782 * config/sh/sh.c (sh_expand_t_scc): Likewise.
3783 * config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before
3784 calling sh_expand_t_scc.
3785
aaf701c5
OE
37862012-04-06 Oleg Endo <olegendo@gcc.gnu.org>
3787
3788 * config/sh/sh-protos.h (fp_zero_operand, fp_one_operand,
3789 nonpic_symbol_mentioned_p, expand_block_move, expand_ashiftrt,
3790 sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext, system_reg_operand,
3791 reg_unused_after, sh_can_redirect_branch, sh_need_epilogue, fldi_ok,
3792 sh_hard_regno_rename_ok, sh_cfun_interrupt_handler_p,
3793 sh_cfun_resbank_handler_p, sh_attr_renesas_p, sh_cfun_attr_renesas_p,
3794 check_use_sfunc_addr, sh_contains_memref_p, sh_loads_bankedreg_p,
3795 sh2a_is_function_vector_call): Use bool as return type.
3796 (sh_pass_in_reg_p): Remove.
3797 * config/sh/sh.c (broken_move, mova_p, noncall_uses_reg, high_pressure,
3798 flow_dependent_p, sh2a_function_vector_p, expand_block_move,
3799 expand_ashiftrt, sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext,
3800 sh_need_epilogue, sh2a_is_function_vector_call, sh_attr_renesas_p,
3801 sh_cfun_attr_renesas_p, sh_cfun_interrupt_handler_p,
3802 sh_cfun_resbank_handler_p, system_reg_operand, fp_zero_operand,
3803 fp_one_operand, fldi_ok, reg_unused_after, sh_can_redirect_branch,
3cb2b15b 3804 sh_hard_regno_rename_ok, check_use_sfunc_addr, sh_contains_memref_p,
aaf701c5
OE
3805 sh_loads_bankedreg_p): Use bool as return type.
3806 (nonpic_symbol_mentioned_p): Use bool as return type. Remove
3807 'register' modifier.
3808
3805a93e
MT
38092012-04-06 Matt Turner <mattst88@gmail.com>
3810
3811 * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
3812
22be5918
EB
38132012-04-06 Eric Botcazou <ebotcazou@adacore.com>
3814
3815 * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
3816 of the destination isn't also a FP_REGS register.
3817
7b38ee83
TJ
38182012-04-05 Teresa Johnson <tejohnson@google.com>
3819 H.J. Lu <hongjiu.lu@intel.com>
3820
2ff5ea2d 3821 * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_LCP_STALL.
7b38ee83
TJ
3822 * config/i386/i386.md (move immediate to memory peephole2):
3823 Add cases for HImode move when LCP stall avoidance is needed.
3824 * config/i386/i386.c (initial_ix86_tune_features): Initialize
3825 X86_TUNE_LCP_STALL entry.
3826
4bdd6fa6
UB
38272012-04-05 Uros Bizjak <ubizjak@gmail.com>
3828
3829 PR target/52882
3830 * config/i386/i386.c (ix86_decompose_address): Allow VOIDmode
3831 CONST_INT operands, zero-extended with AND.
3832
9b9ad23f
OE
38332012-04-05 Oleg Endo <olegendo@gcc.gnu.org>
3834
3835 PR target/50751
3836 * config/sh/sh.c (sh_find_mov_disp_adjust): Take machine_mode as the
3837 first argument instead of mode size. Move displacement calculations
3838 to ...
4bdd6fa6 3839 (mov_insn_size, max_mov_insn_displacement, mov_insn_alignment_mask):
9b9ad23f
OE
3840 ... these new functions.
3841 (disp_adjust): Remove max_mov_disp field.
3842 (sh_legitimate_index_p): Use max_mov_insn_displacement and
3843 mov_insn_alignment_mask.
3844 (sh_address_cost): Use max_mov_insn_displacement.
3845
14f986ed
AS
38462012-04-05 Andrew Stubbs <ams@codesourcery.com>
3847
3848 * config/arm/arm.md (arch): Add neon_onlya8 and neon_nota8.
3849 (arch_enabled): Handle new arch types.
3850 (one_cmpldi2): Add NEON support.
3851
216820a4
RG
38522012-04-05 Richard Guenther <rguenther@suse.de>
3853
3854 * gimple.c (walk_gimple_op): Compute val_only for the LHS
3855 of an assigment in the canonical way, avoiding is_gimple_mem_rhs.
3856 (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt): Move ...
3857 * gimplify.c (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
3858 ... here and make static.
3859 * gimple.h (is_gimple_mem_rhs, is_gimple_reg_rhs, is_gimple_stmt):
3860 Remove.
3861
eaf6ca18
RG
38622012-04-05 Richard Guenther <rguenther@suse.de>
3863
3864 * tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt
3865 basic-block before removing it.
3866
14f60a5a
RG
38672012-04-05 Richard Guenther <rguenther@suse.de>
3868
3869 * tree-ssanames.c (release_dead_ssa_names): Compact the SSA
3870 version namespace as we release the freelist.
3871
3d3f2249
RG
38722012-04-05 Richard Guenther <rguenther@suse.de>
3873
3874 * tree-nrv.c (tree_nrv): Release VDEFs.
3875 * tree-sra.c (sra_modify_constructor_assign): Likewise.
3876 (sra_modify_assign): Likewise.
3877 * tree-vect-stmts.c (vect_remove_stores): Likewise.
3878 * tree-vect-loop.c (vect_transform_loop): Likewise.
3879 * tree-ssa-dom.c (optimize_stmt): Likewise.
3880 * tree-vect-slp.c (vect_schedule_slp): Likewise.
3881 * tree-ssa-math-opts.c (execute_cse_sincos): Likewise.
3882
b5b3ec3e
RG
38832012-04-05 Richard Guenther <rguenther@suse.de>
3884
3885 * gimple-iterator.c (gsi_remove): Return whether EH edges need to be
3886 cleanup.
3887 * gimple.h (gsi_remove): Adjust.
3888 * tree-ssa-operands.c (unlink_stmt_vdef): Optimize.
3889 * tree-ssa-dom.c (optimize_stmt): Use gsi_remove result.
3890 * tree-ssa-dse.c (dse_optimize_stmt): Likewise.
3891 * tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
3892 * tree-ssa-math-opts.c (execute_optimize_widening_mul): Likewise.
3893 * tree-ssa-pre.c (eliminate): Likewise.
3894
929e10f4
MS
38952012-04-04 Mike Stump <mikestump@comcast.net>
3896
3897 * doc/rtl.texi (const_double): Document as sign-extending.
2ff5ea2d 3898 * expmed.c (expand_mult): Ensure we don't use shift incorrectly.
929e10f4
MS
3899 * emit-rtl.c (immed_double_int_const): Refine to state the
3900 value is signed.
3901 * simplify-rtx.c (mode_signbit_p): Add a fixme for wider than
3902 CONST_DOUBLE integers.
3903 (simplify_const_unary_operation, UNSIGNED_FLOAT): Ensure no
3904 negative values are converted. Fix conversions bigger than
3905 HOST_BITS_PER_WIDE_INT.
2ff5ea2d 3906 (simplify_binary_operation_1): Ensure we don't use shift incorrectly.
929e10f4
MS
3907 (simplify_immed_subreg): Sign-extend CONST_DOUBLEs.
3908 * explow.c (plus_constant_mode): Add.
3909 (plus_constant): Implement with plus_constant_mode.
3910 * rtl.h (plus_constant_mode): Add.
3911
0b9066cf
RG
39122012-04-04 Richard Guenther <rguenther@suse.de>
3913
3914 PR tree-optimization/52808
2ff5ea2d 3915 * tracer.c (tail_duplicate): Do not tail-duplicate loop header blocks.
0b9066cf
RG
3916 * Makefile.in (tracer.o): Depend on $(CFGLOOP_H).
3917
9516c54e
TG
39182012-04-04 Tristan Gingold <gingold@adacore.com>
3919
3920 * expr.c (expand_expr_real_2): Handle larger sizetype in
3921 POINTER_PLUS_EXPR.
3922
407f43d7
KK
39232012-04-03 Kaz Kojima <kkojima@gcc.gnu.org>
3924
3925 * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
3926 to m2a-single instead of m2e.
3927
1d0bafd9
EB
39282012-04-03 Eric Botcazou <ebotcazou@adacore.com>
3929
3930 * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3931 Change type of BITOFFSET to signed. Make sure the lower bound of
3932 the computed range is non-negative by adjusting OFFSET and BITPOS.
3933 (expand_assignment): Adjust call to get_bit_range.
3934
f4ea8112
SKS
39352012-04-03 Sandeep Kumar Singh <Sandeep.Singh2@kpitcummins.com>
3936
3937 * h8300/h8300.c (h8300_current_function_monitor_function_p):
dee16055
AS
3938 New function. Added to check monitor functions.
3939 (h8300_option_override): Modified to generate error/warning
3940 messages for invalid combinations of different command line
f4ea8112
SKS
3941 options.
3942 * h8300/h8300.md: Generate 'rte' for monitor functions. Do not
dee16055 3943 save EXR on stack for monitor function in case of H8S target
f4ea8112 3944 when "-mno-exr" is passed.
2ff5ea2d
UB
3945 * h8300/h8300-protos.h (h8300_current_function_monitor_function_p):
3946 Add prototype.
f4ea8112
SKS
3947 * doc/invoke.texi: Document H8S options.
3948
2f6935f4
TG
39492012-04-03 Tristan Gingold <gingold@adacore.com>
3950
3951 * configure.ac: Use GCC_AC_FUNC_MMAP_BLACKLIST instead
3952 of gcc_AC_FUNC_MMAP_BLACKLIST.
3953 * acinclude.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Remove.
3954 * Makefile.in (aclocal_deps): Add mmap.m4.
3955 * configure: Regenerate.
3956 * aclocal.m4: Regenerate.
3957
07b1bf20
RG
39582012-04-03 Richard Guenther <rguenther@suse.de>
3959
3960 PR tree-optimization/52808
3961 * tracer.c (tail_duplicate): Return whether we have duplicated
3962 any block.
3963 (tracer): If we have duplicated any block, cleanup the CFG.
3964 * cfghooks.c (duplicate_block): If we duplicated a loop
3965 header but not its loop, destroy the loop because it now has
3966 multiple entries.
3967 * tree-ssa-threadupdate.c (thread_through_loop_header): Tell
3968 the cfg manipulation routines we are not creating a multiple
3969 entry loop.
3970
90b2952f
TG
39712012-04-03 Tristan Gingold <gingold@adacore.com>
3972
3973 * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle
3974 'byte' alignment.
3975 (vms_c_common_override_options): Allow parameterless variadic
3976 functions.
3977
8a1da634
JJ
39782012-04-03 Jakub Jelinek <jakub@redhat.com>
3979
3980 PR tree-optimization/52835
3981 * tree-data-ref.c (build_rdg): Return NULL if
3982 compute_data_dependences_for_loop failed.
3983
1d3aa466
EB
39842012-04-03 Eric Botcazou <ebotcazou@adacore.com>
3985
3986 * varasm.c (initializer_constant_valid_for_bitfield_p): Return true
3987 for REAL_CST as well.
3988 (output_constructor): Use RECORD_OR_UNION_TYPE_P predicate.
3989 In the bitfield case, if the value is a REAL_CST, convert it first to
3990 an INTEGER_CST.
3991
0465e49e
L
39922012-04-02 H.J. Lu <hongjiu.lu@intel.com>
3993
3994 * config.gcc: Use i386/biarchx32.h instead of i386/biarch64.h
3995 for --with-abi={x32|mx32} or --with-multilib-list=mx32.
3996 (supported_defaults): Add abi for i[34567]86-*-* and x86_64-*-*.
3997
3998 * config/i386/biarchx32.h: New.
3999
107715f0
AS
40002012-04-02 Anatoly Sokolov <aesok@post.ru>
4001
4002 * config/arm/arm.h (PREFERRED_RELOAD_CLASS): Remove.
4003 * config/arm/arm.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
4004 (arm_preferred_reload_class): New function.
4005
18ce8171
RG
40062012-04-02 Richard Guenther <rguenther@suse.de>
4007
4008 PR tree-optimization/52756
4009 * tree-ssa-threadupdate.c (def_split_header_continue_p): New function.
4010 (thread_through_loop_header): After threading through the loop latch
4011 remove the split part from the loop and clear further threading
4012 opportunities that would create a multiple entry loop.
4013
df09560e
RG
40142012-04-02 Richard Guenther <rguenther@suse.de>
4015
4016 PR rtl-optimization/52800
4017 * cprop.c (execute_rtl_cprop): Call cleanup_cfg with
4018 CLEANUP_CFG_CHANGED.
4019
225820ee
RG
40202012-04-02 Richard Guenther <rguenther@suse.de>
4021
4022 PR middle-end/52803
4023 * loop-init.c (gate_handle_loop2): Destroy loops here if
4024 we don't enter RTL loop optimizers.
4025
5bd5034e
UB
40262012-04-02 Uros Bizjak <ubizjak@gmail.com>
4027
4028 Partially revert:
4029 2012-03-29 Richard Guenther <rguenther@suse.de>
4030
4031 * rtl.h (extended_count): Remove.
4032 * combine.c (extended_count): Remove.
4033
cdc30df3
DS
40342012-04-02 Dodji Seketeli <dodji@redhat.com>
4035
4036 PR c++/40942
4037 * pt.c (more_specialized_fn): Don't apply decay conversion to
4038 types of function parameters.
4039
2a6e6fea
TG
40402012-04-02 Tristan Gingold <gingold@adacore.com>
4041
4042 * ggc-page.c (PAGE_L1_SIZE, PAGE_L2_SIZE, LOOKUP_L1, LOOKUP_L2)
4043 (ggc_allocated_p, lookup_page_table_entry, set_page_table_entry)
4044 (alloc_page, init_ggc, clear_marks, struct ggc_pch_data)
4045 (ggc_pch_this_base): Use uintptr_t instead of size_t.
4046
b6c0357f
L
40472012-03-31 H.J. Lu <hongjiu.lu@intel.com>
4048
4049 PR bootstrap/52784
4050 * config/i386/i386.c (ix86_option_override_internal): Don't
4051 check TARGET_64BIT if TARGET_64BIT_DEFAULT is false.
4052
8d960eda
EB
40532012-03-31 Eric Botcazou <ebotcazou@adacore.com>
4054
4055 * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
4056 (stmt_can_make_abnormal_goto): Use it.
4057 (is_ctrl_altering_stmt): Likewise.
4058
57c7433f
N
40592012-03-30 Naveen H.S <naveen.S@kpitcummins.com>
4060 Kaz Kojima <kkojima@gcc.gnu.org>
4061
4062 * config/sh/sh.c (push_regs): Skip banked registers when
4063 resbank attribute is specified.
4064 (sh_expand_epilogue): Likewise.
4065
3825692d
RH
40662012-03-30 Richard Henderson <rth@redhat.com>
4067
4068 PR debug/52727
4069 * combine-stack-adj.c (prev_active_insn_bb): New.
4070 (next_active_insn_bb): New.
4071 (force_move_args_size_note): New.
4072 (combine_stack_adjustments_for_block): Use it.
4073
e025da0c
RH
40742012-03-30 Richard Henderson <rth@redhat.com>
4075
4076 * config/i386/i386.c (struct expand_vec_perm_d): Add one_operand_p.
4077 (ix86_expand_vector_init_duplicate): Initialize it.
4078 (expand_vec_perm_palignr): Likewise.
4079 (ix86_expand_vec_perm_const): Likewise.
4080 (ix86_vectorize_vec_perm_const_ok): Likewise.
4081 (expand_vec_perm_blend): Use it.
4082 (expand_vec_perm_vpermil): Likewise.
4083 (expand_vec_perm_pshufb): Likewise.
4084 (expand_vec_perm_1): Likewise.
4085 (expand_vec_perm_pshuflw_pshufhw): Likewise.
4086 (expand_vec_perm_interleave2): Likewise.
4087 (expand_vec_perm_vpermq_perm_1): Likewise.
4088 (expand_vec_perm_vperm2f128): Likewise.
4089 (expand_vec_perm_interleave3): Likewise.
4090 (expand_vec_perm_vperm2f128_vblend): Likewise.
4091 (expand_vec_perm_vpshufb2_vpermq): Likewise.
4092 (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise,.
4093 (expand_vec_perm_broadcast): Likewise.
4094 (expand_vec_perm_vpshufb4_vpermq2): Likewise.
4095
7b470faf
RH
40962012-03-30 Richard Henderson <rth@redhat.com>
4097
4098 * dwarf2out.c (gen_variable_die): Initialize off.
4099
c531f06a
TG
41002012-03-30 Tristan Gingold <gingold@adacore.com>
4101
4102 * config/vms/vms-f.c: New file.
4103 * config/vms/t-vms (vms-f.o): New rule.
4104 * config.gcc (*-*-*vms*): Define fortran_target_objs.
4105
fef205d5
RG
41062012-03-30 Richard Guenther <rguenther@suse.de>
4107
4108 PR tree-optimization/52754
4109 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
4110 propagate arbitrary addresses into really plain dereferences.
4111
0b7fccfa
RG
41122012-03-30 Richard Guenther <rguenther@suse.de>
4113
4114 PR middle-end/52772
4115 * except.c (emit_to_new_bb_before): Move loop updating ...
4116 (dw2_build_landing_pads): ... here. Use a proper block for
4117 querying the loop father.
4118
fe5798c0
TG
41192012-03-30 Tristan Gingold <gingold@adacore.com>
4120
4121 * config/ia64/ia64.c (ia64_section_type_flags): Remove
4122 common_object attribute handling.
4123 (SECTION_VMS_OVERLAY): Remove
4124 (ia64_vms_common_object_attribute): Replace abort with an assert.
4125 Do not set DECL_SECTION_NAME.
4126 (ia64_vms_output_aligned_decl_common): Handle common_object
4127 attribute.
4128 (ia64_vms_elf_asm_named_section): Remove.
4129 * config/ia64/vms.h (TARGET_ASM_NAMED_SECTION): Remove.
4130
5cf01d62
RG
41312012-03-30 Richard Guenther <rguenther@suse.de>
4132
4133 PR middle-end/52786
4134 * double-int.c (rshift_double): Remove not needed cast.
4135
aeb83f09
RG
41362012-03-30 Richard Guenther <rguenther@suse.de>
4137
4138 * tree-affine.h (print_aff): Remove.
4139 * tree-affine.c (print_aff): Make static.
4140 * tree-data-ref.h (access_matrix_get_index_for_parameter): Remove.
4141 (get_references_in_stmt): Likewise.
4142 (print_direction_vector): Likewise.
4143 (print_dir_vectors): Likewise.
4144 (print_dist_vectors): Likewise.
4145 (dump_subscript): Likewise.
4146 (dump_ddrs): Likewise.
4147 (dump_dist_dir_vectors): Likewise.
4148 (dump_data_references): Likewise.
4149 (dump_data_dependence_relation): Likewise.
4150 (dump_data_dependence_direction): Likewise.
4151 (dump_rdg_vertex): Likewise.
4152 (dump_rdg_component): Likewise.
4153 (debug_ddrs): Declare.
4154 (struct data_ref_loc_d): Move ...
4155 * tree-data-ref.c (struct data_ref_loc_d): ... here.
4156 (get_references_in_stmt): Make static.
4157 (dump_data_references): Likewise.
4158 (dump_subscript): Likewise.
4159 (print_direction_vector): Likewise.
4160 (print_dir_vectors): Likewise.
4161 (print_dist_vectors): Likewise.
4162 (dump_data_dependence_relation): Likewise.
4163 (dump_dist_dir_vectors): Likewise.
4164 (dump_ddrs): Likewise.
4165 (dump_rdg_vertex): Likewise.
4166 (dump_rdg_component): Likewise.
4167 (debug_ddrs): New function.
4168 (access_matrix_get_index_for_parameter): Remove.
4169
b9268e55
TG
41702012-03-30 Tristan Gingold <gingold@adacore.com>
4171
4172 * config/vms/vms.c (VMS_CRTL_FLOAT32): Rename.
4173 (VMS_CRTL_FLOAT64, VMS_CRTL_FLOAT64_VAXD): New.
4174 (VMS_CRTL_FLOAT128, VMS_CRTL_DPML, VMS_CRTL_NODMPL)
4175 (VMS_CRTL_32ONLY, VMS_CRTL_G_MASK, VMS_CRTL_G_NONE)
4176 (VMS_CRTL_GA, VMS_CRTL_GL, VMS_CRTL_FLOATV2): New.
4177 (vms_patch_builtins): Handle new flags
4178 * config/vms/vms-crtlmap.map: Completed using nm on
4179 c and math system libraries.
4180 * config/vms/make-crtlmap.awk: Handle any number of flags.
4181
b9bebd7f
MJ
41822012-03-30 Martin Jambor <mjambor@suse.cz>
4183
4184 * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
4185 is a builtin_stack_save in a dominating BB.
4186
a15d0d03
UB
41872012-03-29 Uros Bizjak <ubizjak@gmail.com>
4188
4189 * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
4190 crossing 128bit lane boundary.
4191
d79318b7
VM
41922012-03-29 Vladimir Makarov <vmakarov@redhat.com>
4193
4194 * ira-color.c (setup_left_conflict_sizes_p): Process all
4195 conflicting objects.
4196
b84b294a
JJ
41972012-03-29 Jakub Jelinek <jakub@redhat.com>
4198
4199 PR tree-optimization/52760
4200 * tree-vect-slp.c (vect_get_constant_vectors): Convert constant_p
4201 shift count for {L,R}{SHIFT,ROTATE}_EXPR to TREE_TYPE (vector_type).
4202
711417cd
RG
42032012-03-29 Richard Guenther <rguenther@suse.de>
4204
4205 * cgraph.h (cgraph_materialize_all_clones): Remove.
4206 (reset_inline_failed): Likewise.
4207 * cgraphunit.c (cgraph_materialize_all_clones): Make static.
4208 * cgraphbuild.c (reset_inline_failed): Remove.
4209 * rtl.h (cse_main): Remove.
4210 (extended_count): Likewise.
4211 * cse.c (dump_class): Mark as DEBUG_FUNCTION.
4212 (cse_main): Make static.
4213 * combine.c (extended_count): Remove.
4214 (dump_combine_stats): Mark as DEBUG_FUNCTION.
4215 * basic-block.h (reorder_basic_blocks): Remove.
4216 * bb-reorder.c (reorder_basic_blocks): Make static.
4217 * Makefile.in (dse.o): Remove dse.h dependency.
4218 * dse.h: Remove.
4219 * dse.c (gate_dse): Remove.
4220 (clear_alias_mode_eq): Likewise.
4221 (clear_alias_mode_hash): Likewise.
4222 (dse_record_singleton_alias_set): Likewise.
4223 (dse_invalidate_singleton_alias_set): Likewise.
4224
a1ecc15c
L
42252012-03-29 H.J. Lu <hongjiu.lu@intel.com>
4226
4227 * config/linux-android.h (ANDROID_STARTFILE_SPEC): Use
4228 crtbegin_so%O%s for -shared.
4229 (ANDROID_ENDFILE_SPEC): Use crtend_so%O%s for -shared.
4230
6bcfb753
RG
42312012-03-29 Richard Guenther <rguenther@suse.de>
4232
4233 * tree-flow.h (struct pre_expr_d): Remove forward declaration.
4234 (add_to_value): Remove.
4235 (print_value_expressions): Likewise.
4236 * tree-ssa-pre.c (add_to_value): Make static.
4237 (print_value_expressions): Likewise.
4238 * gimple.h (gimple_adjust_this_by_delta): Remove.
4239 * gimple-fold.c (gimple_adjust_this_by_delta): Likewise.
4240
477fcae3
RG
42412012-03-29 Richard Guenther <rguenther@suse.de>
4242
4243 PR middle-end/50708
4244 * double-int.h (rshift_double): Remove.
6c381d9d 4245 * double-int.c (lshift_double): Use absu_hwi to make count positive.
477fcae3
RG
4246 (rshift_double): Make static, take unsigned count argument,
4247 remove handling of negative count argument.
4248 (double_int_rshift): Dispatch to lshift_double.
4249
1ab8b791
L
42502012-03-28 H.J. Lu <hongjiu.lu@intel.com>
4251
4252 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
4253 OPTION_MASK_ABI_64.
4254
4255 * config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
4256 (SPEC_X32): Likewise.
4257 (MULTILIB_DEFAULTS): Likewise.
4258
4259 * config/i386/i386.c (isa_opts): Remove -m64.
4260 (ix86_target_string): Properly handle -m32/-m64/-mx32.
4261 (ix86_option_override_internal): Properly
4262 set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as
4263 handle -m32, -m64 and -mx32.
4264
4265 * config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
4266 with OPTION_ABI_X32. Moved after TARGET_LP64.
4267 (TARGET_LP64): Changed to OPTION_ABI_64.
4268
4269 * config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
4270 (mx32): Replace ISA_X32 with ABI_X32.
4271
2defb110
EB
42722012-03-28 Eric Botcazou <ebotcazou@adacore.com>
4273
4274 * tree.c (tree_size) <VECTOR_CST>: New case.
4275
2310e450
UB
42762012-03-28 Uros Bizjak <ubizjak@gmail.com>
4277
4278 * config/i386/i386.c (ix86_modes_tieable_p): Handle 32bit AVX modes.
4279 (ix86_expand_vector_move_misalign): Remove un-needed gen_lowpart calls.
4280
26a7fca2
JJ
42812012-03-28 Jakub Jelinek <jakub@redhat.com>
4282
f25a65f5
JJ
4283 PR middle-end/52691
4284 * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
4285 __builtin_va_start to __builtin_next_arg if the latter is
4286 builtin_decl_explicit_p rather than when it is not.
4287
26a7fca2
JJ
4288 PR middle-end/52750
4289 * tree-vect-generic.c (vector_element): Perform multiplication
4290 for pos in bitsizetype type instead of idx type.
4291
7d776ee2
RG
42922012-03-28 Richard Guenther <rguenther@suse.de>
4293
4294 * loop-init.c (loop_optimizer_init): If loops are preserved
4295 perform incremental initialization of required loop features.
4296 (loop_optimizer_finalize): If loops are to be preserved only
4297 clean up optional loop features.
4298 (rtl_loop_done): Forcefully free loops here.
2310e450 4299 * cgraph.c (cgraph_release_function_body): Forcefully free loops.
7d776ee2
RG
4300 * cfgexpand.c (expand_gimple_cond): Properly add new basic-blocks
4301 to existing loops.
4302 (construct_init_block): Likewise.
4303 (construct_exit_block): Likewise.
4304 (gimple_expand_cfg): Clear LOOP_CLOSED_SSA loop state. Cleanup
4305 the CFG after expanding.
2310e450
UB
4306 * cfgloop.c (verify_loop_structure): Calculate or verify dominators.
4307 If we needed to calculate them, free them afterwards.
7d776ee2
RG
4308 * tree-pass.h (PROP_loops): New define.
4309 * tree-ssa-loop.c (pass_tree_loop_init): Provide PROP_loops.
4310 * basic-block.h (CLEANUP_CFG_CHANGED): New.
4311 * cfgcleanup.c (merge_blocks_move): Protect loop latches.
2310e450 4312 (cleanup_cfg): If we did something and have loops around, fix them up.
7d776ee2
RG
4313 * cse.c (rest_of_handle_cse_after_global_opts): Call cleanup_cfg
4314 with CLEANUP_CFG_CHANGED.
4315 * cfghooks.c (merge_blocks): If we merge a loop header into
4316 its predecessor, update the loop structure.
4317 (duplicate_block): If we copy a loop latch, adjust loop state
4318 to note we may have multiple latches.
4319 (delete_basic_block): Mark loops for fixup if we remove a loop.
4320 * cfganal.c (forwarder_block_p): Protect loop latches, headers
4321 and preheaders.
4322 * cfgrtl.c (rtl_can_merge_blocks): Protect loop latches.
4323 (cfg_layout_can_merge_blocks_p): Likewise.
4324 * cprop.c (bypass_block): If we create a loop with multiple
4325 entries, mark it for removal.
4326 * except.c (emit_to_new_bb_before): Add the new basic-block
4327 to existing loops.
4328 * tree-eh.c (lower_resx): Likewise.
4329 * omp-low.c (finalize_task_copyfn): Do not copy PROP_loops.
4330 (expand_omp_taskreg): Likewise.
4331 * tree-inline.c (initialize_cfun): Likewise.
4332 * tree-mudflap.c (add_bb_to_loop): Prototype.
4333 (mf_build_check_statement_for): Properly add new basic-blocks
4334 to existing loops.
4335 * tree-ssa-threadupdate.c (thread_block): Mark loops for fixup
4336 if we remove a loop.
4337 (thread_through_loop_header): Likewise.
4338 * trans-mem.c (tm_log_emit_save_or_restores): Properly add
4339 new basic-blocks to existing loops.
4340 (expand_transaction): Likewise.
4341 * Makefile.in (except.o): Add $(CFGLOOP_H).
4342 (expr.o): Likewise.
4343 (cgraph.o): Likewise.
4344 (cprop.o): Likewise.
4345 (cfgexpand.o): Likewise.
4346 (cfganal.o): Likewise.
4347 (trans-mem.o): Likewise.
4348 (tree-eh.o): Likewise.
4349
911ba855
GJL
43502012-03-28 Georg-Johann Lay <avr@gjlay.de>
4351
4352 PR target/52692
4353 * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
4354 (avr_builtin_decl): New static function.
4355 (struct avr_builtin_description, avr_bdesc): Move up.
4356 Add GTY marker. Add field fndecl. Remove redundant field id.
4357 (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
4358 (avr_expand_builtin): Code cleanup because .id is removed.
4359
7fd6378e
GJL
43602012-03-28 Georg-Johann Lay <avr@gjlay.de>
4361
4362 PR target/52737
4363 * config.gcc (tm_file): Remove avr/multilib.h.
4364
2310e450 4365 * doc/invoke.texi (AVR Options): Adjust documentation of -mtiny-stack.
7fd6378e
GJL
4366
4367 * config/avr/genmultilib.awk: Remove code to generate multilib.h.
4368 (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
4369 * config/avr/t-avr: Remove generation of multilib.h.
4370 * config/avr/t-multilib: Regenerate.
4371 * config/avr/multilib.h: Remove.
4372 * config/avr/avr.opt (-msp8): New option.
4373 (avr_sp8): New variable.
4374 * config/avr/driver-avr.c (avr_device_to_sp8): New function.
4375 * config/avr/avr.h (AVR_HAVE_SPH): New define.
4376 (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
4377 (avr_device_to_sp8): New prototype.
4378 (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
4379 (DRIVER_SELF_SPECS): New define.
4380 * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
4381 __AVR_SP8__, __AVR_HAVE_SPH__.
4382 * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
4383 AVR_HAVE_8BIT_SP to decide if SP_H is present.
4384 (avr_file_start): Ditto.
4385
be47bf24
JJ
43862012-03-28 Jakub Jelinek <jakub@redhat.com>
4387
4388 PR target/52736
4389 * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
4390 instead of 8 in adjust_address.
4391
00d6b19a
AB
43922012-03-27 Aurelien Buhrig <aurelien.buhrig.gcc@gmail.com>
4393
4394 PR middle-end/51893
4395 * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
4396 targets.
4397
8c6d71c0
OE
43982012-03-27 Oleg Endo <olegendo@gcc.gnu.org>
4399
4400 PR target/50751
4401 * config/sh/sh.c (sh_legitimize_address, sh_legitimize_reload_address):
4402 Rearrange conditional logic. Move displacement address calculations
4403 to ...
4404 (sh_find_mov_disp_adjust): ... this new function.
4405
719e1e80
L
44062012-03-27 H.J. Lu <hongjiu.lu@intel.com>
4407
4408 * config/arm/arm.opt (mapcs): Remove MaskExists.
4409 * config/cris/linux.opt (mno-gotplt): Likewise.
4410 * config/i386/i386.opt (mhard-float): Likewise.
4411 (msse4): Likewise.
4412 (mno-sse4): Likewise.
4413 * config/m68k/m68k.opt (mhard-float): Likewise.
4414 * config/mep/mep.op (mcop32): Likewise.
4415 * config/pa/pa-hpux.opt (msio): Likewise.
4416 * config/pa/pa64-hpux.opt (mgnu-ld): Likewise.
4417 * config/picochip/picochip.opt (mlittle): Likewise.
4418 * config/sh/sh.opt (mrenesas): Likewise.
4419 * config/sparc/long-double-switch.opt (mlong-double-128): Likewise.
4420 * config/sparc/sparc.opt (mhard-float): Likewise.
4421 * config/v850/v850.opt (mv850es): Likewise.
4422 * config/vax/vax.opt (mg-float): Likewise.
4423
429576ac
MJ
44242012-03-27 Martin Jambor <mjambor@suse.cz>
4425
4426 PR middle-end/52693
4427 * tree-sra.c (sra_modify_assign): Do not call
4428 load_assign_lhs_subreplacements when working with an unscalarizable
4429 region.
4430
ae1547cc
UB
44312012-03-27 Uros Bizjak <ubizjak@gmail.com>
4432
4433 PR target/52698
4434 * config/i386/i386-protos.h (ix86_legitimize_reload_address):
4435 New prototype.
4436 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
4437 * config/i386/i386.c: Include reload.h.
4438 (ix86_legitimize_reload_address): New function.
4439
1ad36b7e
L
44402012-03-27 H.J. Lu <hongjiu.lu@intel.com>
4441
4442 * opth-gen.awk: Allocated a bit for Mask and InverseMask if it
4443 hasn't been allocated. Define a target macro for Mask and
ae1547cc 4444 InverseMask if it hasn't been defined. Remove MaskExists handling.
1ad36b7e 4445
9a0ee5ed 4446 * doc/options.texi: Remove MaskExists.
1ad36b7e 4447
066922e6
CLT
44482012-03-27 Chung-Lin Tang <cltang@codesourcery.com>
4449
4450 PR target/52667
4451 * config/sh/sh.c (find_barrier): Add equality check of last_got
4452 to avoid going above orig insn. Update comments.
4453
005aa1b4
RG
44542012-03-27 Richard Guenther <rguenther@suse.de>
4455
4456 PR middle-end/52720
4457 * fold-const.c (try_move_mult_to_index): Handle &x.array more
4458 explicitely.
4459
a59b038c
EB
44602012-03-27 Eric Botcazou <ebotcazou@adacore.com>
4461
4462 * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
4463 of a unit before computing the offset in units.
4464 * expr.c (get_bit_range): Return the null range if the enclosing record
4465 is part of a larger bit field.
4466
2283164d
TG
44672012-03-27 Tristan Gingold <gingold@adacore.com>
4468
4469 * config/ia64/vms.h (CASE_VECTOR_MODE): Define.
4470 * config/ia64/ia64.md: Remove mode in template.
4471 Sign extend operand in expand_simple_binop.
4472 * config/ia64/ia64.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use
4473 CASE_VECTOR_MODE instead of TARGET_ILP32.
4474 (ADDR_VEC_ALIGN): Make it depends on CASE_VECTOR_MODE.
4475
da3237d1
SB
44762012-03-26 Steven Bosscher <steven@gcc.gnu.org>
4477
4478 * varasm.c (assemble_external): #if 0 out the new assert from the
4479 previous commit, it breaks the Java and Go front ends.
4480
ffe5d708
SB
44812012-03-26 Steven Bosscher <steven@gcc.gnu.org>
4482
bbee5843
SB
4483 * toplev.c (check_global_declaration_1): Do not call assemble_external.
4484 * expr.c (emit_block_move_libcall_fn): Likewise.
4485 (clear_storage_libcall_fn): Likewise.
4486 (expand_expr_addr_expr_1): Likewise.
4487 (expand_expr_real_1): Likewise.
4488 * calls.c (rtx_for_function_call): Likewise.
4489
ffe5d708
SB
4490 * varasm.c (assemble_external): Assert this function is only called
4491 during or after expanding to RTL.
4492
3515a00b
MJ
44932012-03-26 Martin Jambor <mjambor@suse.cz>
4494
4495 PR tree-optimization/50052
4496 * tree-sra.c (tree_non_aligned_mem_p): Removed.
4497 (tree_non_aligned_mem_for_access_p): Likewise.
4498 (build_accesses_from_assign): Removed strict alignment requirements
4499 checks.
4500 (access_precludes_ipa_sra_p): Likewise.
4501
ad5d161a
RG
45022012-03-26 Richard Guenther <rguenther@suse.de>
4503
4504 PR tree-optimization/52701
4505 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
4506 compute and set the evolution part of PHI nodes.
4507
5467ee52
RG
45082012-03-26 Richard Guenther <rguenther@suse.de>
4509
4510 PR tree-optimization/52721
4511 * tree-vect-stmts.c (vect_init_vector): Handle scalars.
4512
39f3fed6
UW
45132012-03-26 Ulrich Weigand <ulrich.weigand@linaro.org>
4514
4515 PR tree-optimization/52686
4516 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
4517 WIDEN_LSHIFT_EXPR.
4518
4b12e93d
TG
45192012-03-26 Tristan Gingold <gingold@adacore.com>
4520
4521 * config/alpha/vms.h (LINK_SPEC): Simplify.
4522 (STARTFILE_SPEC): Remove -mvms-return-codes handling.
4523 (NAME__MAIN, SYMBOL__MAIN): Remove.
4524 (VMS_DEBUG_MAIN_POINTER): Remove.
4525 * config/ia64/vms.h: Likewise.
4526 * config/alpha/alpha.c (alpha_start_function): Move vms_debug_main
4527 code to vms.c. Call vms_start_function.
4528 * config/ia64/ia64.c (ia64_start_function): Likewise.
4529 * config/vms/vms-protos.h (vms_start_function): Declare.
4530 * config/vms/vms.c (vms_start_function): New function.
4531 * config/vms/vms.h (MATH_LIBRARY): Define.
4532 (VMS_DEBUG_MAIN_POINTER): Define.
4533
2169f14c
EB
45342012-03-26 Eric Botcazou <ebotcazou@adacore.com>
4535
4536 PR rtl-optimization/52629
4537 * reload1.c (count_pseudo): Short-circuit common case.
4538 (count_spilled_pseudo): Return early for pseudos without hard regs.
4539 Assert that the pseudo has got a hard reg before manipulating it.
4540
47a1ae3c
JH
45412012-03-24 Jan Hubicka <jh@suse.cz>
4542
4543 PR lto/51663
4544 * varpool.c (varpool_finalize_decl): Handle toplevel_reorder here.
4545 (decide_is_variable_needed): Do not handle toplevel reorder here.
4546 * cgraph.h (varpool_can_remove_if_no_refs): Likewise.
4547 * ipa.c (cgraph_remove_unreachable_nodes): Remove unreachable vars
4548 even at -O0.
4549
8c5f2327
EB
45502012-03-24 Eric Botcazou <ebotcazou@adacore.com>
4551
4552 * expr.c (optimize_bitfield_assignment_op) <BIT_IOR_EXPR>: Use str_mode
4553 and str_bitsize instead of more convoluted expressions.
4554
c4133027
EB
45552012-03-24 Eric Botcazou <ebotcazou@adacore.com>
4556
4557 PR target/52610
4558 * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
4559
f26c81d6
EB
45602012-03-24 Eric Botcazou <ebotcazou@adacore.com>
4561
4562 PR target/52656
4563 * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Fix pasto.
4564
d01f346b
MJ
45652012-03-23 Martin Jambor <mjambor@suse.cz>
4566
4567 * tree-sra.c (build_accesses_from_assign): Remove FIXME comment.
4568
0ac168a1
RG
45692012-03-23 Richard Guenther <rguenther@suse.de>
4570
4571 PR tree-optimization/52678
4572 * tree-vectorizer.h (struct _stmt_vec_info): Add
4573 loop_phi_evolution_part member.
4574 (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
4575 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
4576 STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
4577 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
4578 Use the cached evolution part and the PHI nodes value from
4579 the loop preheader edge instead of re-analyzing the evolution.
4580
3fd03b93
MK
45812012-03-22 Maxim Kuvyrkov <maxim@codesourcery.com>
4582
4583 * config/mips/mips-tables.opt: Update.
4584 * config/mips/mips.md (processor): Add xlp.
4585 * config/mips/mips-cpus.def: Add xlp.
4586 * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
4587 5KF for now.
4588 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
4589 * doc/invoke.texi: Mention XLP.
4590
c140ddf3
JJ
45912012-03-22 Jakub Jelinek <jakub@redhat.com>
4592
4593 PR middle-end/52547
4594 * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
4595 on any new_local_var_chain vars declared during recursing on
4596 GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
4597
b31a2c5a
UB
45982012-03-22 Uros Bizjak <ubizjak@gmail.com>
4599
4600 * config/alpha/alpha.h (ASM_OUTPUT_ALIGN): Move to config/alpha/elf.h
4601 (ASM_OUTPUT_SKIP): Move to config/alpha/vms.h
4602 (ASM_OUTPUT_LOCAL): Ditto.
4603 (ASM_OUTPUT_COMMON): Remove.
4604 * config/alpha/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Use ASM_OUTPUT_DEF.
4605 * config/alpha/vms.h (ASM_OUTPUT_ALIGN): Do not undefine before define.
4606
b4e93f45
JH
46072012-03-22 Jan Hubicka <jh@suse.cz>
4608
4609 PR middle-end/51737
4610 * cgraph.c (cgraph_remove_node_and_inline_clones): Add FORBIDDEN_NODE
4611 parameter.
4612 * cgraph.h (cgraph_remove_node_and_inline_clones): Update prototype.
b31a2c5a
UB
4613 * ipa-inline-transform.c (save_inline_function_body): Remove
4614 copied clone if needed.
b4e93f45
JH
4615 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Update.
4616
e45381b3
RG
46172012-03-22 Richard Guenther <rguenther@suse.de>
4618
4619 PR middle-end/52666
4620 * fold-const.c (fold_ternary_loc): Fix typo.
4621
94236928
GJL
46222012-03-22 Georg-Johann Lay <avr@gjlay.de>
4623
4624 PR target/52496
4625 * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
4626 (unspecv): Add UNSPECV_MEMORY_BARRIER.
4627 (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
4628 (delay_cycles_1, delay_cycles_2): Ditto.
4629 (delay_cycles_3, delay_cycles_4): Ditto.
4630 (nopv, *nopv): Ditto.
4631 (sleep, *sleep): Ditto.
4632 (wdr, *wdr): Ditto.
4633
cd32bb90
RG
46342012-03-22 Richard Guenther <rguenther@suse.de>
4635
4636 PR tree-optimization/52548
4637 * tree-ssa-pre.c (valid_in_sets): Remove handling of invalidation
4638 because of clobbers.
4639 (prune_clobbered_mems): New function.
4640 (compute_antic_aux): Use it to prune ANTIC_OUT.
4641 (compute_partial_antic_aux): Use it to prune PA_IN.
b31a2c5a
UB
4642 (compute_avail): Only insert expressions into EXP_GEN that are not
4643 invalidated when translated up to the beginning of the block.
cd32bb90 4644
418b7df3
RG
46452012-03-22 Richard Guenther <rguenther@suse.de>
4646
4647 PR tree-optimization/52638
4648 * tree-vect-stmts.c (vect_init_vector_1): New function, split
4649 out from ...
4650 (vect_init_vector): ... here. Handle scalar vector inits.
4651 (vect_get_vec_def_for_operand): Adjust.
4652 (vectorizable_load): Likewise.
4653
8f27fc6b
UB
46542012-03-22 Uros Bizjak <ubizjak@gmail.com>
4655
4656 * config.gcc (alpha*-*-linux*): Add elfos.h to tm_file.
4657 (alpha*-*-freebsd*): Ditto.
4658 (alpha*-*-netbsd*): Ditto.
4659 (alpha*-*-openbsd*): Ditto.
4660 * config/alpha/elf.h (OBJECT_FORMAT_ELF): Remove.
4661 (DWARF2_DEBUGGING_INFO): Remove.
4662 (PREFERRED_DEBUGGING_TYPE): Remove.
4663 (ASM_FINAL_SPEC): Remove.
4664 (IDENT_ASM_OP): Remove.
4665 (ASM_OUTPUT_IDENT): Remove.
4666 (SKIP_ASM_OP): Remove.
4667 (ASM_OUTPUT_SKIP): Remove.
4668 (ALIGN_ASM_OP): Remove.
4669 (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
4670 (ASM_OUTPUT_CASE_LABEL): Remove.
4671 (ASM_OUTPUT_EXTERNAL_LIBCALL): Remove.
4672 (COMMON_ASM_OP): Remove.
4673 (ASM_OUTPUT_ALIGNED_COMMON): Remove.
4674 (ASCII_DATA_ASM_OP): Remove.
4675 (READONLY_DATA_SECTION_ASM_OP): Remove.
4676 (INIT_SECTION_ASM_OP): Remove.
4677 (FINI_SECTION_ASM_OP): Remove.
4678 (ASM_SECTION_START_OP): Remove.
4679 (ASM_OUTPUT_SECTION_START_FILE): Remove.
4680 (TARGET_ASM_NAMED_SECTION): Remove.
4681 (TARGET_ASM_SELECT_SECTION): Remove.
4682 (MAKE_DECL_ONE_ONLY): Remove.
4683 (TYPE_ASM_OP): Remove.
4684 (SIZE_ASM_OP): Remove.
4685 (ASM_WEAKEN_LABEL): Remove.
4686 (TYPE_OPERAND_FMT): Remove.
4687 (ASM_DECLARE_RESULT): Remove.
4688 (ASM_DECLARE_OBJECT_NAME): Remove.
4689 (ASM_FINISH_DECLARE_OBJECT): Remove.
4690 (ELF_ASCII_ESCAPES): Remove.
4691 (ELF_STRING_LIMIT): Remove.
4692 (STRING_ASM_OP): Remove.
4693 (ASM_OUTPUT_EXTERNAL): Remove.
4694 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Redefine to false.
4695 * config/alpha/alpha.h (PCC_BITFIELD_TYPE_MATTERS): Undefine
4696 before define.
4697 (ASM_DECLARE_FUNCTION_NAME): Ditto.
4698 (ASM_DECLARE_FUNCTION_SIZE): Ditto.
4699 (ASM_GENERATE_INTERNAL_LABEL): Ditto.
4700 (ASM_OUTPUT_SKIP): Ditto.
4701 (READONLY_DATA_SECTION_ASM_OP): Remove.
4702 (USER_LABEL_PREFIX): Remove.
4703 (ASM_OUTPUT_ASCII): Remove.
4704 (ASM_OUTPUT_CASE_LABEL): Remove.
4705 (NO_DOLLAR_IN_LABEL): Undefine.
4706
109a16c2
RG
47072012-03-22 Richard Guenther <rguenther@suse.de>
4708
4709 PR tree-optimization/52459
4710 * tree-ssa-pre.c (inhibit_phi_insertion): Do not inhibit
4711 PHI insertion for calls.
4712
7b02f4e0
SB
47132012-03-21 Steven Bosscher <steven@gcc.gnu.org>
4714
4715 * cse.c (invalidate_from_sets_and_clobbers, try_back_substitute_reg,
4716 find_sets_in_insn, canonicalize_insn): Split out from ...
4717 (cse_insn): ... here.
4718 (invalidate_from_clobbers): Take an insn instead of the pattern.
4719
e022193e
OE
47202012-03-21 Oleg Endo <olegendo@gcc.gnu.org>
4721
4722 PR target/52479
4723 * config/sh/sh-protos.h (sh_fsca_df2int): Remove.
4724 * config/sh/sh.c (sh_fsca_df2int_rtx, sh_fsca_df2int): Remove.
4725 * config/sh/sh.md (sindf2, cosdf2): Remove.
4726
6c5bfec0
KK
47272012-03-21 Kaz Kojima <kkojima@gcc.gnu.org>
4728
0dbc5be5 4729 PR target/52642
6c5bfec0 4730 * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
8f27fc6b 4731 prologue for unwinder and profiler.
6c5bfec0 4732
a26f86dc
AT
47332012-03-21 Andreas Tobler <andreast@fgznet.ch>
4734
4735 * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
4736 Introduce emul_name to select the right linker emulation for
4737 powerpc64-*-freebsd*.
4738 * configure: Regenerate.
4739 * config.gcc: Add bits to support powerpc64-*-freebsd*.
4740 * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
4741 * config/rs6000/freebsd64.h: New file.
4742 * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
4743 POWERPC_FREEBSD.
4744 (rs6000_savres_strategy): Likewise.
4745 (rs6000_savres_routine_name): Likewise.
4746 (rs6000_elf_file_end): Likewise.
4747 * config/rs6000/t-freebsd64: New file.
4748 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
4749 rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
4750
ad648ade
AT
4751 * config/rs6000/freebsd64.h: Remove duplicated entries from last
4752 commit.
4753 * config/rs6000/t-freebsd64: Likewise.
4754
03b29b0a
GJL
47552012-03-21 Georg-Johann Lay <avr@gjlay.de>
4756
4757 PR rtl-optimization/52543
4758 PR target/52461
4759 * config/avr/avr-protos.h (avr_load_lpm): New prototype.
4760 * config/avr/avr.c (avr_mode_dependent_address_p): New function.
4761 (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
4762 (avr_load_libgcc_p): Restrict to __flash loads.
4763 (avr_out_lpm): Only handle 1-byte loads from __flash.
4764 (avr_load_lpm): New function.
4765 (avr_find_unused_d_reg): Remove.
4766 (avr_out_lpm_no_lpmx): Remove.
4767 (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
4768 * config/avr/avr.md (unspec): Add UNSPEC_LPM.
4769 (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
4770 (load_<mode>, load_<mode>_clobber): New insns.
4771 (mov<mode>): For multi-byte move from non-generic
4772 16-bit address spaces: Expand to load_<mode> resp.
4773 load_<mode>_clobber.
4774 (load<mode>_libgcc): Remove expander.
4775 (split-lpmx): Remove split.
4776
baeecefc
RE
47772012-03-21 Richard Earnshaw <rearnsha@arm.com>
4778
4779 * neon.md (neon_vget_lanev2di): Use gen_lowpart and gen_highpart.
4780 * config/arm/neon.ml (Fixed_return_reg): Renamed to fixed_vector_reg.
4781 All callers changed.
4782 (Fixed_core_reg): New feature.
4783 (Vget_lane [sizes S64 and U64]): Add Fixed_core_reg. Allow fmrrd in
4784 disassembly.
4785 * neon-testgen.ml: Handle Fixed_core_reg.
4786
021afdb4
AS
47872012-03-21 Andrew Stubbs <ams@codesourcery.com>
4788
4789 * config/arm/arm.c (thumb2_reorg): Add complete support
4790 for 16-bit instructions.
4791 * config/arm/thumb2.md: Delete obsolete flag-clobbering peepholes.
4792
50eeef09
RG
47932012-03-21 Richard Guenther <rguenther@suse.de>
4794
4795 PR tree-optimizer/52636
4796 * tree-vect-slp.c (vect_get_constant_vectors): Convert constants
4797 to the appropriate type.
4798
be147e84
RG
47992012-03-21 Richard Guenther <rguenther@suse.de>
4800
4801 * Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H)
4802 dependencies.
4803 * cfgexpand.c (gimple_expand_cfg): Fold in pass_init_function,
4804 pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
4805 * passes.c (init_optimization_passes): Remove pass_init_function,
4806 pass_jump, pass_initial_value_sets and pass_unshare_all_rtl.
4807 * tree-pass.h (pass_init_function): Remove.
4808 (pass_jump): Remove.
4809 (pass_initial_value_sets): Remove.
4810 (pass_unshare_all_rtl): Remove.
4811 * integrate.c (pass_initial_value_sets): Remove.
4812 * emit-rtl.c (pass_unshare_all_rtl): Remove.
4813 * tree.h (init_function_for_compilation): Remove.
4814 * function.c (init_function_for_compilation): Remove.
4815 (pass_init_function): Remove.
4816 * cfgcleanup.c (rest_of_handle_jump): Remove.
4817 (pass_jump): Remove.
4818
f78f0473
JM
48192012-03-20 Jason Merrill <jason@redhat.com>
4820
4821 * tree-streamer-in.c (streamer_alloc_tree): Call
4822 ggc_alloc_zone_cleared_tree_node instead of
4823 ggc_alloc_zone_cleared_tree_node_stat.
4824
513d0519
JW
48252012-03-20 Jonathan Wakely <jwakely.gcc@gmail.com>
4826
4827 * doc/extend.texi (Template Instantiation): Remove anachronisms.
4828
6945a32e
JJ
48292012-03-20 Jakub Jelinek <jakub@redhat.com>
4830
ee289e45
JJ
4831 PR target/52607
4832 * config/i386/i386.c (expand_vec_perm_vperm2f128): New function.
4833 (ix86_expand_vec_perm_const_1): Call it.
4834
e5069d62
JJ
4835 * config/i386/i386.c (vselect_insn): New variable.
4836 (init_vselect_insn): New function.
4837 (expand_vselect, expand_vselect_insn): Add testing_p argument.
4838 Call init_vselect_insn if vselect_insn is NULL. Adjust
4839 PATTERN (vselect_insn), instead of creating a new insn each time,
4840 only emit a copy of it if not testing and recog has been successful.
4841 (expand_vec_perm_pshufb, expand_vec_perm_1,
4842 expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_broadcast_1): Adjust
4843 callers.
4844
6945a32e
JJ
4845 PR target/52607
4846 * config/i386/i386.md ("isa" attribute): Add avx2 and noavx2.
4847 ("enabled" attribute): Handle avx2 and noavx2 isas.
4848 * config/i386/sse.md (avx2_vec_dupv8sf_1, avx2_pbroadcast<mode>_1):
4849 New insns.
4850 (vec_dup<mode>): Add avx2 =x,x alternative.
4851 (vec_dup<mode> splitter): Don't split if TARGET_AVX2.
4852 (*avx_vperm_broadcast_<mode>): Don't split V4DFmode if TARGET_AVX2.
4853 For TARGET_AVX2, V8SFmode and elt == 0 split into vbroadcastss.
4854 * config/i386/i386.c (expand_vec_perm_pshufb): Emit also vpermps
4855 for V8SFmode.
4856 (expand_vec_perm_1): For broadcasts, use avx2_pbroadcast<mode>_1
4857 if possible, handle also V8SFmode.
4858
681676df
RE
48592012-03-20 Richard Earnshaw <rearnsha@arm.com>
4860
4861 * arm/predicates.md (zero_operand, reg_or_zero_operand): New predicates.
4862 * arm/neon.md (neon_vceq<mode>, neon_vcge<mode>): Use
4863 reg_or_zero_operand predicate.
4864 (neon_vcle<mode>, neon_vclt<mode>): Use zero_operand predicate.
4865
999a099c
JJ
48662012-03-20 Jakub Jelinek <jakub@redhat.com>
4867
4868 * config/i386/i386.c (ix86_decompose_address) <case ZERO_EXTEND>:
4869 If operand isn't UNSPEC, return 0.
4870
dac1fbf8
RG
48712012-03-20 Richard Guenther <rguenther@suse.de>
4872
4873 * tree-pass.h (pass_rtl_eh): Remove.
4874 * except.c (gate_handle_eh): Likewise.
4875 (rest_of_handle_eh): Likewise.
4876 (pass_rtl_eh): Likewise.
4877 (finish_eh_generation): Export.
4878 * except.h (finish_eh_generation): Declare.
4879 * passes.c (init_optimization_passes): Remove pass_rtl_eh.
4880 * cfgexpand.c (gimple_expand_cfg): Call finish_eh_generation
4881 after expanding stack alignment. Instead of compacting blocks
4882 call cleanup_cfg.
4883
7ebf9677
RG
48842012-03-20 Richard Guenther <rguenther@suse.de>
4885
4886 * stor-layout.c (finish_bitfield_representative): Fallback
4887 to conservative maximum size if the padding up to the next
4888 field cannot be computed as a constant.
4889 (finish_bitfield_layout): If we cannot compute the distance
4890 between the start of the bitfield representative and the
4891 bitfield member start a new representative.
4892 * expr.c (get_bit_range): The distance between the start of
4893 the bitfield representative and the bitfield member is zero
4894 if the field offsets are not constants.
4895
18dae016
TG
48962012-03-20 Tristan Gingold <gingold@adacore.com>
4897
4898 * tree.h (enum size_type_kind): Add stk_ prefix to constants,
4899 convert in lowercase.
4900 (sizetype_tab, sizetype, bitsizetype, ssizetype, sbitsizetype)
4901 (size_int, ssize_int, bitsize_int, sbitsize_int): Adjust.
4902 * stor-layout.c (sizetype_tab): Adjust.
4903 (initialize_sizetypes): Use SIZETYPE instead of SIZE_TYPE.
4904 * tree-streamer.c (preload_common_nodes): Use stk_type_kind_last
4905 instead of type_kind_last.
4906 * tree-scalar-evolution.c (interpret_rhs_expr): Use size_int
4907 instead of size_int_kind.
4908 * doc/tm.texi.in (Type Layout): Document SIZETYPE.
4909 * doc/tm.texi: Regenerate.
4910 * defaults.h (SIZETYPE): Provide a default value.
4911 * config/vms/vms.h (SIZE_TYPE): Define as "unsigned int".
4912 (SIZETYPE): Define.
4913
d9241861
OE
49142012-03-20 Oleg Endo <olegendo@gcc.gnu.org>
4915
4916 * config/sh/sh.md: Use braced string notation where applicable.
4917
5ef4f609
UB
49182012-03-19 Uros Bizjak <ubizjak@gmail.com>
4919
4920 * config/i386/i386.md (allocate_stack): Simplify.
4921
18ae1560
UB
49222012-03-19 Uros Bizjak <ubizjak@gmail.com>
4923
4924 * builtins.c (expand_builtin_cexpi): Use copy_addr_to_reg instead of
4925 copy_to_mode_reg (Pmode, ...).
4926 (expand_builtin_frame_address): Ditto.
4927 * expr.c (emit_block_move_via_libcall): Ditto.
4928 (set_storage_via_libcall): Ditto.
4929
4930 * config/i386/i386.c (ix86_expand_movmem): Ditto.
4931 (ix86_expand_setmem): Ditto.
4932 (ix86_trampoline_init): DItto.
4933 * config/i386/i386.md (cmpstrnsi): Ditto.
18ae1560 4934
3e4907f4
SL
49352012-03-19 Sandra Loosemore <sandra@codesourcery.com>
4936
4937 * config/sh/sh.opt (madjust-unroll): Mark as ignored/obsolete.
4938 * config/sh/sh.h (TARGET_OPT_DEFAULT): Don't use MASK_ADJUST_UNROLL.
4939 * doc/invoke.texi (Option Summary): Remove -madjust-unroll.
4940 (SH Options): Likewise.
4941
edd8bb12
UB
49422012-03-19 Uros Bizjak <ubizjak@gmail.com>
4943
4944 * config/i386/i386.c (get_thread_pointer): Add tp_mode argument.
4945 Generate ZERO_EXTEND in place if GET_MODE (tp) != tp_mode.
4946 (legitimize_tls_address) <TLS_MODEL_INITIAL_EXEC>: Always generate
4947 DImode UNSPEC_GOTNTPOFF references on TARGET_64BIT.
4948 (ix86_decompose_address): Allow zero extended UNSPEC_TP references.
4949
4950 Revert:
4951 2012-03-13 Uros Bizjak <ubizjak@gmail.com>
4952
4953 * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
4954 * config/i386/i386.c (ix86_decompose_address): Use
4955 TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
4956 (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
4957 thread pointer to a register.
4958
4959 Revert:
4960 2012-03-10 H.J. Lu <hongjiu.lu@intel.com>
4961
4962 * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
4963 if Pmode != word_mode.
4964 (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
4965 Pmode == SImode for TARGET_X32.
4966
4967 * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
4968 (tls_initial_exec_x32): Likewise.
4969
344332e8
OE
49702012-03-19 Oleg Endo <olegendo@gcc.gnu.org>
4971
4972 PR target/50751
4973 * config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12, DISP_ADDR_P,
4974 DISP_ADDR_OFFSET): New macros.
4975 * config/sh/sh.c (sh_address_cost): Add SH2A special case.
4976 (sh_legitimate_index_p): Allow QImode displacements for non-SH2A.
4977 (sh_legitimize_address): Add QImode displacement handling.
edd8bb12 4978 (sh_cannot_change_mode_class): Disallow GENERAL_REGS for SFmode
344332e8
OE
4979 vector subregs.
4980 (sh_secondary_reload): Add QImode displacement handling.
4981 * config/sh/predicates.md (movsrc_no_disp_mem_operand): New predicate.
ae5a8549
OE
4982 * config/sh/constraints.md (K04, Snd, Sdd): New constraints.
4983 * config/sh/sh.md (extendqisi2): Remove constraints from expander.
4984 (*extendqisi2_compact): Rename to *extendqisi2_compact_reg, restrict
4985 to register operands only.
4986 (*extendqisi2_compact_mem_disp, *extendqisi2_compact_snd): New insns.
4987 (extendqihi2): Change insn to expander.
4988 (*extendqihi2_compact_reg): New insn.
4989 (movqi_i, movqi): Replace with ...
4990 (movqi, *movqi_reg_reg, *movqi_store_mem_disp12,
4991 *movqi_load_mem_disp, *movqi_load_mem_disp): ... these.
4992 Add new peepholes for QImode displacement addressing.
344332e8 4993
04398fa8
PC
49942012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4995
4996 PR c++/14710
4997 * doc/invoke.texi: Document -Wuseless-cast.
4998
b199074d
EB
49992012-03-19 Eric Botcazou <ebotcazou@adacore.com>
5000
5001 * tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move.
5002 * tree.h (handled_component_p): Reorder cases.
5003 * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do
5004 not initialize unsignedp.
5005 (loc_list_from_tree): Likewise.
5006 (fortran_common): Likewise.
5007 * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
5008
79f3658a
UB
50092012-03-19 Uros Bizjak <ubizjak@gmail.com>
5010
5011 * config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
5012 mode consistently. Use ix86_gen_add3. Assert that Pmode == DImode.
5013 (ix86_expand_split_stack_prologue): Use ix86_gen_add3.
5014 (ix86_split_long_move): Ditto.
5015 (legitimize_tls_address): Use ix86_gen_sub3.
5016 (construct_plt_address): Assert that Pmode == DImode.
5017
82e86dc6
UB
50182012-03-18 Uros Bizjak <ubizjak@gmail.com>
5019
5020 * config/i386/i386.md: Remove empty predicates and/or constraints.
5021 * config/i386/sync.md: Ditto.
5022 * config/i386/sse.md: Ditto.
5023 * config/i386/mmx.md: Ditto.
5024 * config/i386/pentium.md: Ditto.
5025 * config/i386/athlon.md: Ditto.
5026
d6682315
RG
50272012-03-16 Richard Guenther <rguenther@suse.de>
5028
5029 PR tree-optimization/52603
5030 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Clarify
5031 comment.
5032
5033 Revert
5034 2012-03-14 Richard Guenther <rguenther@suse.de>
5035
5036 PR tree-optimization/52571
5037 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
5038 flag_section_anchors check ...
5039 (vect_can_force_dr_alignment_p): ... here.
5040
0a1c20dc
MJ
50412012-03-16 Martin Jambor <mjambor@suse.cz>
5042
b199074d 5043 * expr.c (expand_expr_real_1): Handle misaligned scalar reads from
0a1c20dc
MJ
5044 memory through MEM_REFs by calling extract_bit_field.
5045
6814f778
RG
50462012-03-16 Richard Guenther <rguenther@suse.de>
5047
5048 * fold-const.c (native_interpret_expr): Also support POINTER_TYPE
5049 and REFERENCE_TYPE interpretations.
5050 (can_native_interpret_type_p): New function.
5051 (fold_ternary_loc): Use native encode/interpret to fold
5052 BIT_FIELD_REFs of constants.
5053
ada3df50
RG
50542012-03-16 Richard Guenther <rguenther@suse.de>
5055
5056 PR middle-end/52584
5057 * fold-const.c (fold_ternary_loc): Fold vector typed BIT_FIELD_REFs
5058 of vector constants and constructors.
5059
b758f602
RG
50602012-03-16 Richard Guenther <rguenther@suse.de>
5061
5062 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
5063 VIEW_CONVERT_EXPR to convert constants.
5064 (vect_is_simple_use): Treat all constants as vec_constant_def.
5065
cf1867a0 50662012-03-16 Richard Guenther <rguenther@suse.de>
82e86dc6 5067 Kai Tietz <ktietz@redhat.com>
cf1867a0
RG
5068
5069 PR middle-end/48814
5070 * gimplify.c (gimplify_self_mod_expr): Evaluate postfix
5071 side-effects completely in the pre-queue and use a temporary
5072 for the result.
5073
2447776c
RG
50742012-03-16 Richard Guenther <rguenther@suse.de>
5075
5076 * stor-layout.c (finish_bitfield_representative): Fall back
5077 to the conservative maximum size if we cannot compute the
5078 size of the tail padding.
5079
6ceb677f
TG
50802012-03-16 Tristan Gingold <gingold@adacore.com>
5081
5082 * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
5083 __CRTL_VER and __VMS_VER.
5084 * config/vms/vms-protos.h: Declare vms_c_get_crtl_ver
5085 and vms_c_get_vms_ver.
5086 * config/vms/vms-c.c (vms_c_get_crtl_ver, vms_c_get_vms_ver): New
5087 functions.
5088 * config/alpha/vms.h (VMS_DEFAULT_CRTL_VER)
5089 (VMS_DEFAULT_VMS_VER): Define.
5090 * config/ia64/vms.h (VMS_DEFAULT_CRTL_VER)
5091 (VMS_DEFAULT_VMS_VER): Define.
5092
50a763ab
RG
50932012-03-16 Richard Guenther <rguenther@suse.de>
5094
5095 * tree-vect-loop.c (get_initial_def_for_induction): Use
5096 build_constructor directly.
5097 * tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
5098 build_vector_from_val.
5099 * tree.c (build_vector_from_val): Avoid creating a constructor
5100 first when we want a constant vector.
5101
17246516
RO
51022012-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5103
5104 * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
5105
d2a12ae7
RG
51062012-03-16 Richard Guenther <rguenther@suse.de>
5107
5108 * tree.h (TREE_VECTOR_CST_ELTS): Remove.
5109 (VECTOR_CST_NELTS, VECTOR_CST_ELTS, VECTOR_CST_ELT): New defines.
5110 (struct tree_vector): Remove elements member, add variable size
5111 elts array member.
5112 (build_vector_stat): Declare.
5113 (build_vector): Define in terms of build_vector_stat.
5114 * tree.c (build_vector): Rename to ...
5115 (build_vector_stat): ... this. Take array of trees as parameter.
5116 (build_vector_from_ctor): Adjust.
5117 (integer_zerop, integer_onep, integer_all_onesp, iterative_hash_expr,
5118 initializer_zerop): Adjust.
5119 * cfgexpand.c (expand_debug_expr): Likewise.
5120 * expr.c (categorize_ctor_elements_1, expand_expr_real_1,
5121 const_vector_from_tree): Likewise.
5122 * fold-const.c (const_binop, operand_equal_p, native_encode_vector,
5123 native_interpret_vector, fold_unary_loc, vec_cst_ctor_to_array,
5124 fold_vec_perm, fold_binary_loc, fold_ternary_loc): Likewise.
5125 * tree-streamer-in.c (streamer_alloc_tree): Handle TS_VECTOR.
5126 (lto_input_ts_vector_tree_pointers): Adjust.
5127 * tree-streamer-out.c (streamer_write_tree_header): Handle TS_VECTOR.
5128 (write_ts_vector_tree_pointers): Adjust.
5129 * varasm.c (const_hash_1, compare_constant, copy_constant,
5130 output_constant): Adjust.
5131 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Adjust.
5132 * print-tree.c (print_node): Adjust.
5133 * tree-pretty-print.c (dump_generic_node): Adjust.
5134 * tree-vect-generic.c (uniform_vector_p, vector_element,
5135 lower_vec_perm): Adjust.
5136 * tree-vect-loop.c (get_initial_def_for_reduction): Adjust.
5137 * tree-vect-slp.c (vect_get_constant_vectors,
5138 vect_transform_slp_perm_load): Adjust.
5139 * tree-vect-stmts.c (vect_gen_perm_mask): Adjust.
5140 * expmed.c (make_tree): Adjust.
5141 * config/i386/i386.c (ix86_expand_builtin): Adjust.
5142 * config/sparc/sparc.c (sparc_handle_vis_mul8x16): Adjust interface
5143 and implementation.
5144 (sparc_fold_builtin): Adjust.
5145
20bfad56
TG
51462012-03-16 Tristan Gingold <gingold@adacore.com>
5147
5148 * config.gcc (*-*-*vms*): Define use_gcc_stdint and tm_file.
5149 * config/vms/vms-stdint.h: New file.
5150
305576a5
TG
51512012-03-16 Tristan Gingold <gingold@adacore.com>
5152
5153 * config.host (alpha64-dec-*vms*, alpha*-dec-*vms*)
5154 (ia64-hp-*vms*): Replaced by ...
5155 (*-*-*vms*): ... This new entry.
5156
b8227739
JJ
51572012-03-15 Jakub Jelinek <jakub@redhat.com>
5158
81de8b03 5159 PR target/52568
82e86dc6 5160 * config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New function.
81de8b03
JJ
5161 (ix86_expand_vec_perm_const_1): Use it.
5162
b8227739
JJ
5163 PR target/52568
5164 * config/i386/sse.md (UNSPEC_VPERMDF): Remove.
5165 (avx2_permv4df): Remove.
5166 (avx2_permv4di): Macroize into...
5167 (avx2_perm<mode>): ... this using VI8F_256 iterator.
5168 (avx2_permv4di_1): Macroize into...
5169 (avx2_perm<mode>_1): ... this using VI8F_256 iterator.
5170
df7965e4
UW
51712012-03-15 Ulrich Weigand <ulrich.weigand@linaro.org>
5172
5173 * combine.c (apply_distributive_law): Do not distribute SUBREG.
5174
bc4fb355
IR
51752012-03-15 Ira Rosen <irar@il.ibm.com>
5176 Ulrich Weigand <ulrich.weigand@linaro.org>
5177
5178 * tree-vect-patterns.c (widened_name_p): Rename to ...
5179 (type_conversion_p): ... this. Add new argument to determine
5180 if it's a promotion or demotion operation. Check for
5181 CONVERT_EXPR_CODE_P instead of NOP_EXPR.
5182 (vect_recog_dot_prod_pattern): Call type_conversion_p instead
5183 widened_name_p.
5184 (vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
5185 vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
5186 Likewise.
5187 (vect_recog_mixed_size_cond_pattern): Likewise and allow
5188 non-constant then and else clauses.
5189
f5709183
IR
51902012-03-15 Ira Rosen <irar@il.ibm.com>
5191 Ulrich Weigand <ulrich.weigand@linaro.org>
5192
5193 * tree-vectorizer.h (vect_pattern_recog): Add new argument.
5194 * tree-vect-loop.c (vect_analyze_loop_2): Update call to
5195 vect_pattern_recog.
5196 * tree-vect-patterns.c (widened_name_p): Pass basic block
5197 info to vect_is_simple_use.
5198 (vect_recog_dot_prod_pattern): Fail for basic blocks.
5199 (vect_recog_widen_sum_pattern): Likewise.
5200 (vect_handle_widen_op_by_const): Support basic blocks.
5201 (vect_operation_fits_smaller_type,
5202 vect_recog_over_widening_pattern): Likewise.
5203 (vect_recog_vector_vector_shift_pattern): Support basic blocks.
5204 Update call to vect_is_simple_use.
5205 (vect_recog_mixed_size_cond_pattern): Support basic blocks.
5206 Add printing.
5207 (check_bool_pattern): Add an argument, update call to
5208 vect_is_simple_use and the recursive calls.
5209 (vect_recog_bool_pattern): Update relevant function calls.
5210 Add printing.
5211 (vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
5212 (vect_pattern_recog_1): Check for reduction only in loops.
5213 (vect_pattern_recog): Add new argument. Support basic blocks.
5214 * tree-vect-stmts.c (vectorizable_conversion): Pass basic block
5215 info to vect_is_simple_use_1.
8f27fc6b 5216 * tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic blocks.
f5709183
IR
5217 (vect_slp_analyze_bb_1): Call vect_pattern_recog.
5218
ff63ac4d
JJ
52192012-03-15 Jakub Jelinek <jakub@redhat.com>
5220 Andrew Pinski <apinski@cavium.com>
5221
5222 PR middle-end/52592
5223 * builtins.c (expand_builtin_int_roundingfn_2): If expanding
5224 BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
5225 calls instead of __builtin_ir{int,ound}*.
5226
b3781fcb
BRF
52272012-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5228
5229 * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
5230 documentation.
5231
42183685 52322012-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5ab22850
RR
5233
5234 * config.gcc (target_type_format_char): New. Document it. Set it for
b3781fcb 5235 arm*-*-* .
82e86dc6
UB
5236 * configure.ac (gnu_unique_option): Use target_type_format_char
5237 in test. Comment rationale.
5ab22850
RR
5238 * configure: Regenerate .
5239
ad193f32
JJ
52402012-03-15 Jakub Jelinek <jakub@redhat.com>
5241
5242 PR tree-optimization/52267
5243 * tree-vrp.c (masked_increment): New function.
5244 (register_edge_assert_for_2): Derive ASSERT_EXPRs
5245 from (X & CST1) cmp CST2 tests.
5246
9b00587c
RG
52472012-03-15 Richard Guenther <rguenther@suse.de>
5248
5249 PR middle-end/52580
5250 * tree-data-ref.c (subscript_dependence_tester_1): Check
5251 all dimensions for non-conflicting access functions.
5252
a12bf402
MLI
52532012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5254
5255 PR c++/44783
5256 * doc/invoke.texi [C++ Language Options]: Document
5257 -ftemplate-backtrace-limit.
5258
51a1aacf
TG
52592012-03-15 Tristan Gingold <gingold@adacore.com>
5260
5261 * c-parser.c (c_parser_parameter_declaration): Handle #pragma
5262 before a parameter.
5263
b763dcaa
TG
52642012-03-15 Tristan Gingold <gingold@adacore.com>
5265
5266 * dwarf2out.c (gen_subprogram_die): Require dwarf unwinding to
5267 use DW_OP_call_frame_cfa.
5268
28968d91
L
52692012-03-14 H.J. Lu <hongjiu.lu@intel.com>
5270
5271 PR target/50797
5272 * config/i386/i386-opts.h (pmode): New.
5273
5274 * config/i386/i386.c (ix86_option_override_internal): Properly
5275 check and set ix86_pmode.
5276
8f27fc6b 5277 * config/i386/i386.h (Pmode): Check ix86_pmode instead of TARGET_64BIT.
28968d91
L
5278
5279 * config/i386/i386.opt (maddress-mode=): New.
5280
5281 * doc/invoke.texi: Document -maddress-mode=short|long for x86.
5282
7c17f335
RO
52832012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5284
5285 * dwarf2cfi.c (def_cfa_0): Remove MIPS_DEBUGGING_INFO handling.
5286 (dwarf2out_do_cfi_asm): Likewise.
5287 * dwarf2out.c (output_call_frame_info): Remove MIPS_DEBUGGING_INFO
5288 handling.
5289 (add_data_member_location_attribute): Likewise.
5290 (gen_array_type_die): Likewise.
5291 (gen_subprogram_die): Likewise.
5292 (gen_producer_string): Likewise.
5293 * sdbout.c (sdbout_begin_prologue): Declare unconditionally.
5294 Remove MIPS_DEBUGGING_INFO handling.
5295 (sdb_debug_hooks): Likewise.
5296 (sdbout_begin_block): Likewise.
5297 (sdbout_end_block): Likewise.
5298 (sdbout_begin_prologue): Likewise.
5299 (sdbout_start_source_file): Likewise.
5300 (sdbout_end_source_file): Likewise.
5301 (sdbout_init): Likewise.
5302 * system.h (MIPS_DEBUGGING_INFO): Poison.
5303
46e1a769
RO
53042012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5305
5306 * config/alpha/alpha.c [HAVE_STAMP_H]: Remove.
5307 (alpha_file_start) [MS_STAMP]: Remove.
5308
5309 * config/alpha/elf.h (TARGET_GAS): Remove.
5310 * config/alpha/freebsd.h (TARGET_DEFAULT): Remove.
5311 * config/alpha/linux.h (TARGET_DEFAULT): Remove.
5312 * config/alpha/netbsd.h (TARGET_DEFAULT): Remove.
5313 * config/alpha/vms.h (TARGET_DEFAULT): Remove.
5314 * config.gcc (alpha*-*-linux*): Remove target_cpu_default.
5315 (alpha*-*-freebsd*): Likewise.
5316 (alpha*-*-netbsd*): Likewise.
5317 (alpha*-*-openbsd*): Likewise.
5318 (alpha*-*-*): Remove target_cpu_default2.
5319 * config/alpha/alpha.c (alpha_output_filename): Remove !TARGET_GAS
5320 handling.
5321 * config/alpha/alpha.h (TARGET_AS_CAN_SUBTRACT_LABELS): Remove.
5322 (TARGET_AS_SLASH_BEFORE_SUFFIX): Remove.
5323 * config/alpha/alpha.c (print_operand): Always assume
5324 TARGET_AS_SLASH_BEFORE_SUFFIX.
5325 * config/alpha/alpha.md ("*builtin_setjmp_receiver_er_sl_1"):
5326 Remove TARGET_AS_CAN_SUBTRACT_LABELS.
5327 ("*builtin_setjmp_receiver_er_1"): Remove.
5328 * config/alpha/alpha.opt (malpha-as): Remove.
5329 (mgas): Ignore.
5330 * doc/invoke.texi (Option Summary, DEC Alpha Options): Remove
5331 -malpha-as, -mgas.
5332 Remove DEC Unix reference.
5333
5334 * config/alpha/alpha.h (OBJECT_FORMAT_COFF): Remove.
5335 (EXTENDED_COFF): Remove.
5336 * config/alpha/elf.h (OBJECT_FORMAT_COFF): Don't undef.
5337 (EXTENDED_COFF): Don't undef.
5338 * config/alpha/alpha.c (alpha_file_start): Always assume
5339 OBJECT_FORMAT_ELF.
5340 Don't set targetm.asm_file_start_file_directive.
5341 [!OBJECT_FORMAT_ELF]: Remove.
5342 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
5343
5344 * config/alpha/alpha.h (SDB_DEBUGGING_INFO): Remove.
5345 (DBX_DEBUGGING_INFO): Remove.
5346 (MIPS_DEBUGGING_INFO): Remove.
5347 (PREFERRED_DEBUGGING_TYPE): Remove.
5348 (DBX_OUTPUT_SOURCE_LINE): Remove.
5349 (SDB_OUTPUT_SOURCE_LINE): Remove.
5350 (DBX_CONTIN_LENGTH): Remove.
5351 (NO_DBX_FUNCTION_END): Remove.
5352 (ASM_STABS_OP): Remove.
5353 (ASM_STABN_OP): Remove.
5354 (ASM_STABD_OP): Remove.
5355 (SDB_ALLOW_FORWARD_REFERENCES): Remove.
5356 (SDB_ALLOW_UNKNOWN_REFERENCES): Remove.
5357 (PUT_SDB_DEF): Remove.
5358 (PUT_SDB_PLAIN_DEF): Remove.
5359 (PUT_SDB_TYPE): Remove.
5360 (sdb_label_count): Remove.
5361 (PUT_SDB_BLOCK_START): Remove.
5362 (PUT_SDB_BLOCK_END): Remove.
5363 (PUT_SDB_FUNCTION_START): Remove.
5364 (PUT_SDB_FUNCTION_END): Remove.
5365 (PUT_SDB_EPILOGUE_END): Remove.
5366 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Don't undef.
5367 (MIPS_DEBUGGING_INFO): Don't undef.
5368 (DBX_DEBUGGING_INFO): Don't undef.
5369 * config/alpha/vms.h (SDB_DEBUGGING_INFO): Don't undef.
5370 (MIPS_DEBUGGING_INFO): Don't undef.
5371 (DBX_DEBUGGING_INFO): Don't undef.
5372 * config/alpha/freebsd.h (DBX_CONTIN_CHAR): Remove.
5373 * config/alpha/alpha.c (alpha_option_override): Remove SDB_DEBUG
5374 handling.
5375 (alpha_start_function): Likewise.
5376 (sdb_label_count): Remove.
5377 (alpha_output_filename): Remove DBX_DEBUG handling.
5378 (alpha_file_start): Likewise.
5379
7888f266
RO
53802012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5381
5382 * config.gcc (enable_obsolete): Remove *-*-solaris2.8*.
5383 (*-*-solaris2.[0-8], *-*-solaris2.[0-8].*): Mark unsupported.
5384 (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Remove
5385 Solaris 8 support.
5386 * configure.ac (gcc_cv_ld_hidden): Remove *-*-solaris2.8*.
5387 (ld_tls_support): Remove Solaris 8 references.
5388 (lwp_dir, lwp_spec): Remove support for alternate thread library.
82e86dc6 5389 * acinclude.m4 (gcc_cv_initfini_array): Remove *-*-solaris2.* tests.
7888f266
RO
5390 * configure: Regenerate.
5391 * config.in: Regenerate.
5392
5393 * config/sol2.h (LINK_SPEC): Remove LIB_THREAD_LDFLAGS_SPEC.
5394 * config/i386/sol2.h: Remove Solaris 8 references.
5395
5396 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Rename to ...
5397 (i?86-*-solaris2.9): ... this.
5398 Remove Solaris 8 references.
5399 (Specific, *-*-solaris2*): Document Solaris 8 removal.
5400 Remove Solaris 8 references.
5401
b24513a1
RO
54022012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5403
5404 * config.gcc (enable_obsolete): Remove mips-sgi-irix6.5.
5405 (mips-sgi-irix6.5*): Remove.
5406 * config.host (mips-sgi-irix*): Remove.
5407 * configure.ac (enable_fixed_point): Remove mips*-sgi-irix*.
5408 (set_have_as_tls): Remove *-*-irix6*.
5409 (gcc_cv_ld_static_dynamic): Remove mips-sgi-irix6*.
5410 * configure: Regenerate.
5411
5412 * config/mips/iris6.h: Remove.
5413 * config/mips/iris6.opt: Remove.
5414 * config/mips/t-irix6: Remove.
5415
5416 * config/mips/mips.h (TARGET_GPWORD): Remove IRIX 6 N64 handling.
5417 (TARGET_IRIX6): Remove.
5418 (TARGET_CPU_CPP_BUILTINS): Remove IRIX 6 handling.
5419 Don't define LANGUAGE_C, _LANGUAGE_C for Objective-C.
5420 * config/mips/mips.c (mips_build_builtin_va_list): Remove IRIX 6
5421 handling.
5422 (mips_file_start): Likewise.
5423 * config/mips/mips-protos.h (irix_asm_output_align): Remove.
5424
5425 * config/mips/driver-native.c [__sgi__]: Remove.
5426 (host_detect_local_cpu) [__sgi__]: Remove.
5427
5428 * config/mips/gnu-user.h: Remove iris5.h reference.
5429
5430 * config/mips/mips-modes.def: Remove IRIX 6 reference.
5431 * config/mips/gnu-user64.h (MIPS_TFMODE_FORMAT): Remove.
5432 * config/mips/mips.c (mips_option_override) [MIPS_TFMODE_FORMAT]:
5433 Remove.
5434
5435 * gcc.c (main): Move asm_debug initialization ...
5436 (asm_debug): ... here.
5437
5438 * ginclude/stddef.h (__STDDEF_H__): Don't define.
5439
5440 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Remove.
5441 * system.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): Poison.
5442 * collect2.c [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
5443 (main) [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES]: Remove.
5444 [LINK_ELIMINATE_DUPLICATE_LDIRECTORIES] (is_in_args): Remove.
5445 * doc/tm.texi.in (Driver, LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
5446 Remove.
5447 * doc/tm.texi: Regenerate.
5448
5449 * doc/invoke.texi (Debugging Options, -gdwarf-<version>): Remove
5450 IRIX 6 reference.
5451 (MIPS Options, -march): Remove IRIX reference.
5452 * doc/install.texi (Binaries, SGI IRIX): Remove.
5453 (Specific, mips-sgi-irix6): Document IRIX 6.5 removal, remove rest
5454 of section.
5455 * doc/trouble.texi (Interoperation): Remove -lgl_s handling.
5456
02f6574b
MJ
54572012-03-14 Martin Jambor <mjambor@suse.cz>
5458
5459 * expr.c (expand_assignment): Use expand_expr with EXPAND_WRITE
82e86dc6 5460 when expanding MEM_REFs, MEM_TARGET_REFs and handled_component bases.
02f6574b
MJ
5461 (expand_expr_real_1): Do not handle misalignment if modifier is
5462 EXPAND_WRITE.
5463
995ec132
RG
54642012-03-14 Richard Guenther <rguenther@suse.de>
5465
5466 PR middle-end/52584
5467 * tree-vect-generic.c (type_for_widest_vector_mode): Take
5468 element type instead of mode, use build_vector_type_for_mode
5469 instead of the langhook, build a vector of proper signedness.
5470 (expand_vector_operations_1): Adjust.
5471
7501ca28
RG
54722012-03-14 Richard Guenther <rguenther@suse.de>
5473
5474 PR middle-end/52582
82e86dc6
UB
5475 * gimple-fold.c (canonicalize_constructor_val): Make sure we have
5476 a cgraph node for a FUNCTION_DECL that comes from a constructor.
7501ca28
RG
5477 (gimple_get_virt_method_for_binfo): Likewise.
5478
c205d0b3
RG
54792012-03-14 Richard Guenther <rguenther@suse.de>
5480
5481 PR tree-optimization/52571
5482 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
5483 flag_section_anchors check ...
5484 (vect_can_force_dr_alignment_p): ... here. Do not re-align
5485 DECL_COMMON variables.
5486
26c71b93
RG
54872012-03-14 Richard Guenther <rguenther@suse.de>
5488
5489 * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
5490 * stor-layout.c (start_bitfield_representative): New function.
5491 (finish_bitfield_representative): Likewise.
5492 (finish_bitfield_layout): Likewise.
5493 (finish_record_layout): Call finish_bitfield_layout.
5494 * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
5495 for QUAL_UNION_TYPE fields.
5496 * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
5497 Stream DECL_BIT_FIELD_REPRESENTATIVE.
5498 * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
5499
5500 PR middle-end/52080
5501 PR middle-end/52097
5502 PR middle-end/48124
5503 * expr.c (get_bit_range): Unconditionally extract bitrange
5504 from DECL_BIT_FIELD_REPRESENTATIVE.
5505 (expand_assignment): Adjust call to get_bit_range.
5506
1caf8dd6
RG
55072012-03-14 Richard Guenther <rguenther@suse.de>
5508
5509 PR middle-end/52578
5510 * fold-const.c (fold_unary_loc): Fold (T1)(T2)x to (T1)x if
5511 the outermost conversion is a sign-change only.
5512 (fold_binary_loc): Disregard widening and sign-changing
5513 conversions when we determine if two variables are equal
5514 for reassociation.
5515 * tree-ssa-forwprop.c (combine_conversions): Fold (T1)(T2)x to
5516 (T1)x if the outermost conversion is a sign-change only.
5517
a1d3d84b
UB
55182012-03-14 Uros Bizjak <ubizjak@gmail.com>
5519
5520 Revert:
5521 2012-03-14 Uros Bizjak <ubizjak@gmail.com>
5522
5523 * config/i386/predicates.md (constant_call_address_operand): Declare
5524 as special predicate. Update all uses.
5525
b7613c91
JJ
55262012-03-13 Jakub Jelinek <jakub@redhat.com>
5527
9243c51d
JJ
5528 PR c/52577
5529 * c-parser.c (c_parser_postfix_expression)
5530 <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
5531
b7613c91
JJ
5532 * config/i386/smmintrin.h: Avoid /* within a comment.
5533 * config/i386/nmmintrin.h: Likewise.
5534
9020ff27
UB
55352012-03-13 Uros Bizjak <ubizjak@gmail.com>
5536
5537 * config/i386/i386.md (xbegin): Remove constraint from expander.
5538
6e5c8423
UB
55392012-03-13 Uros Bizjak <ubizjak@gmail.com>
5540
5541 * config/i386/predicates.md (constant_call_address_operand): Declare
5542 as special predicate. Update all uses.
5543 * config/i386/i386.md: Remove mode from constant_call_address_operand
5544 predicates.
5545 * config/i386/i386.c (ix86_output_call_insn): Call
5546 constant_call_address_operand with VOIDmode.
5547
ff71e554
UB
55482012-03-13 Uros Bizjak <ubizjak@gmail.com>
5549
5550 * config/i386/i386.c (ix86_decompose_address): Handle subregs of
5551 AND zero extended address correctly.
5552
62a1c041
UB
55532012-03-13 Uros Bizjak <ubizjak@gmail.com>
5554
5555 * config/i386/predicates.md (tls_symbolic_operand): Declare as
5556 special predicate.
5557 (tls_modbase_operand): Ditto.
5558 * config/i386/i386.md: Remove mode from tls_symbolic_operand and
5559 tls_modbase_operand predicates.
5560
43332529
MJ
55612012-03-13 Martin Jambor <mjambor@suse.cz>
5562
5563 * expr.c (expand_assignment): Handle misaligned scalar writes to
5564 memory through top-level MEM_REFs by calling store_bit_field.
5565
0c12cd5e
RG
55662012-03-13 Richard Guenther <rguenther@suse.de>
5567
5568 PR middle-end/52134
5569 * fold-const.c (fold_binary_loc): Fold (X * Y) & -(1 << CST) to X * Y
5570 if Y is a constant multiple of 1 << CST.
5571
ae606c28
GJL
55722012-03-13 Georg-Johann Lay <avr@gjlay.de>
5573
5574 PR target/52488
5575 * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
5576 offset (size) to a value the insns can deal with.
5577 (expand_epilogue): Ditto.
5578
a0a6e3f7
MGD
55792012-03-13 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
5580
5581 * config/arm/neon.ml (ops): Fixup expected instructions for
5582 unsigned vector compares.
5583
9ec96023
UB
55842012-03-13 Uros Bizjak <ubizjak@gmail.com>
5585
5586 * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
5587 addresses only when %reg is not in word mode.
5588
d47657bd
RO
55892012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5590
5591 * config/microblaze/microblaze.md: Fix typo.
5592 * tree-if-conv.c: Likewise.
5593 * tree-vect-patterns.c: Likewise.
5594
d82c57a8
RO
55952012-03-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5596
5597 * config.gcc (extra_passes): Remove.
5598 * configure.ac (extra_passes): Don't substitute.
5599 * configure: Regenerate.
5600 * Makefile.in (EXTRA_PASSES): Remove.
5601 (GCC_PASSES): Remove $(EXTRA_PASSES).
5602 (MOSTLYCLEANFILES): Likewise.
5603 (native): Likewise.
5604 (install-common): Likewise.
5605
6c2f0f83
UB
56062012-03-13 Uros Bizjak <ubizjak@gmail.com>
5607
5608 * config/i386/i386.h (TARGET_TLS_INDIRECT_SEG_REFS): New.
5609 * config/i386/i386.c (ix86_decompose_address): Use
5610 TARGET_TLS_INDIRECT_SEG_REFS to prevent %fs:(%reg) addresses.
5611 (legitimize_tls_address): Use TARGET_TLS_INDIRECT_SEG_REFS to load
5612 thread pointer to a register.
5613
a029a154
L
56142012-03-12 H.J. Lu <hongjiu.lu@intel.com>
5615
5616 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Remove :P
5617 on tls_symbolic_operand.
5618 (tls_global_dynamic_64_<mode>): Likewise.
5619
2dc5ca18
GJL
56202012-03-12 Georg-Johann Lay <avr@gjlay.de>
5621
5622 PR other/52545
5623 * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
5624 SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
5625
ed2d1466
GJL
56262012-03-12 Georg-Johann Lay <avr@gjlay.de>
5627
5628 PR target/52499
5629 * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
5630 type from reg_class_t to enum reg_class.
5631 * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
5632
b928d32b
AP
56332012-03-12 Andrew Pinski <apinski@cavium.com>
5634
5635 * tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function.
5636 (tree_ssa_phiopt_worker): Use single_non_singleton_phi_for_edges.
5637 (value_replacement): Likewise.
5638 (empty_block_p): Check also if the PHIs for the block are empty.
5639
2f986dce
GJL
56402012-03-12 Georg-Johann Lay <avr@gjlay.de>
5641
5642 PR target/52148
5643 * config/avr/avr.c (avr_out_movmem): Fix typo in output template
5644 for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
5645 r184615 from 2012-02-28.
5646
79eeab23
L
56472012-03-12 H.J. Lu <hongjiu.lu@intel.com>
5648
5649 * config/i386/i386.c (ix86_gen_tls_global_dynamic_64): New.
5650 (ix86_gen_tls_local_dynamic_base_64): Likewise.
5651 (ix86_option_override_internal): Set ix86_gen_tls_global_dynamic_64
5652 and ix86_gen_tls_local_dynamic_base_64.
5653 (legitimize_tls_address): Use ix86_gen_tls_global_dynamic_64 and
5654 ix86_gen_tls_local_dynamic_base_64.
5655
5656 * config/i386/i386.md (*tls_global_dynamic_64): Renamed to ...
5657 (*tls_global_dynamic_64_<mode>): This.
5658 (tls_global_dynamic_64): Renamed to ...
5659 (tls_global_dynamic_64_<mode>): This.
5660 (*tls_local_dynamic_base_64): Renamed to ...
5661 (*tls_local_dynamic_base_64_<mode>): This.
5662 (tls_local_dynamic_base_64): Renamed to ...
5663 (tls_local_dynamic_base_64_<mode>): This.
5664
986b6423
L
56652012-03-12 H.J. Lu <hongjiu.lu@intel.com>
5666
5667 * config/i386/i386.c (ix86_option_override_internal): Properly
5668 set ix86_gen_leave and ix86_gen_monitor. Check Pmode == DImode,
5669 instead of TARGET_64BIT, to set ix86_gen_add3, ix86_gen_sub3,
82e86dc6
UB
5670 ix86_gen_one_cmpl2, ix86_gen_andsp, ix86_gen_allocate_stack_worker,
5671 ix86_gen_adjust_stack_and_probe and ix86_gen_probe_stack_range.
986b6423
L
5672
5673 * config/i386/sse.md (sse3_monitor64): Renamed to ...
5674 (sse3_monitor64_<mode>): This.
5675
472b8fdc
TG
56762012-03-12 Tristan Gingold <gingold@adacore.com>
5677
5678 * config/ia64/ia64.c (ia64_function_arg_1): Move code around.
5679 (ia64_function_arg_advance): Ditto.
5680
c4bc5c25
RO
56812012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5682
5683 * config.gcc (mips*-*-openbsd*): Remove.
5684 * config/mips/openbsd.h: Remove.
5685 * config/mips/sdb.h: Remove.
5686
5687 * config/mips/mips.h (SDB_OUTPUT_SOURCE_LINE): Remove.
5688 * config/mips/mips.c (sdb_label_count): Remove.
5689 (mips_debugger_offset): Remove #if 0 code.
5690 (mips_output_function_prologue) [SDB_DEBUGGING_INFO]: Remove.
5691 * config/mips/sde.h (SDB_DEBUGGING_INFO): Don't undef.
5692
493dd43c
RO
56932012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5694
5695 * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
5696 binutils reference.
5697 (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
5698 Update binutils references.
5699 (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
5700 Update binutils reference.
5701 Update Sun as/GNU ld caveat.
5702 Document binutils largefile requirement for LTO plugin.
344f61ae 5703 Remove reference to alternate libpthread.
493dd43c 5704
5c30094f
RO
57052012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5706
5707 * config.gcc (alpha*-dec-osf5.1*): Remove.
5708 * config.host (alpha*-dec-osf*): Remove.
5709 * configure.ac (*-*-osf*): Remove.
5710 (alpha*-dec-osf*): Remove.
5711 * configure: Regenerate.
5712
82e86dc6
UB
5713 * config/alpha/host-osf.c, config/alpha/osf5.h, config/alpha/osf5.opt,
5714 config/alpha/va_list.h, config/alpha/x-osf: Remove.
5c30094f
RO
5715
5716 * config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Remove.
5717 * config/alpha/alpha.c (struct machine_function): Update comment.
5718 (alpha_start_function): Remove Tru64 UNIX as handling for
5719 max_frame_size.
5720 * config/alpha/alpha.md ("exception_receiver"): Remove
5721 TARGET_LD_BUGGY_LDGP.
5722 ("*exception_receiver_2"): Likewise.
5723 * except.c (finish_eh_generation): Remove Tru64 reference.
5724 * ginclude/stdarg.h [_HIDDEN_VA_LIST]: Don't undef _VA_LIST.
5725 * system.h (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Poison.
5726 * target.def (handle_pragma_extern_prefix): Remove.
5727
5728 * Makefile.in (mips-tfile.o-warn): Remove.
5729 (ALL_HOST_BACKEND_OBJS): Remove mips-tfile.o, mips-tdump.o.
5730 (mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): Remove.
5731 * mips-tdump.c, mips-tfile.c: Remove.
5732
5733 * doc/extend.texi (Symbol-Renaming Pragmas): Remove #pragma
5734 extern_prefix.
5735 * doc/install.texi (Binaries): Remove Tru64 UNIX reference.
5736 (Specific, alpha*-dec-osf5.1): Note removal.
5737 * doc/tm.texi.in (Misc, TARGET_HANDLE_PRAGMA_EXTERN_PREFIX):
5738 Remove.
5739 * doc/tm.texi: Regenerate.
5740 * doc/trouble.texi (Cross-Compiler Problems): Remove.
5741
bb008427
RG
57422012-03-12 Richard Guenther <rguenther@suse.de>
5743
5744 * config/arm/arm.c (neon_dereference_pointer): Do not call
5745 covert during RTL expansion.
5746
281740d1
TG
57472012-03-12 Tristan Gingold <gingold@adacore.com>
5748
5749 * doc/invoke.texi (VMS Options): Merge Alpha/VMS and IA-64/VMS
5750 Options. Mention -mpointer-size.
5751
21fa2faf
RG
57522012-03-12 Richard Guenther <rguenther@suse.de>
5753
5754 * config/alpha/alpha.c (alpha_gimplify_va_arg): Use
5755 build_nonstandard_integer_type.
5756
7ee6fd68
RG
57572012-03-12 Richard Guenther <rguenther@suse.de>
5758
5759 * tree.c (signed_or_unsigned_type_for): Use
5760 build_nonstandard_integer_type.
5761 (signed_type_for): Adjust documentation.
5762 (unsigned_type_for): Likewise.
5763 * tree-pretty-print.c (dump_generic_node): Use standard names
5764 for non-standard integer types if available.
5765
d8aba32a
TG
57662012-03-12 Tristan Gingold <gingold@adacore.com>
5767
5768 * config/vms/vms.opt: Add vms-opts.h header.
5769 (mmalloc64): Use flag_vms_malloc64 flag instead of MALLOC64
5770 target mask.
5771 (-mvms-return-codes): Document.
5772 (-mpointer-size): New option.
5773 (vms_pointer_size): Add enumeration.
5774 * config/vms/vms-opts.h: New file.
5775 * config/vms/vms.h (TARGET_OS_CPP_BUILTINS): Define
5776 __INITIAL_POINTER_SIZE.
5777 (POINTER_SIZE, SIZE_TYPE, PTRDIFF_TYPE): Adjust definition.
5778 (C_COMMON_OVERRIDE_OPTIONS): Define.
5779 (DWARF2_ADDR_SIZE): Define.
5780 * config/vms/vms.c (vms_patch_builtins): Adjust condition.
5781 * config/vms/vms-protos.h (vms_c_common_override_options):
5782 New prototype.
5783 * config/vms/vms-c.c (vms_pragma_pointer_size): Ignore pragma
5784 if -mno-pointer-size.
5785 (vms_c_common_override_options): New function.
5786 * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
5787 * config/alpha/vms.h (TARGET_DEFAULT): Remove MASK_MALLOC64.
5788 (MALLOC_ABI_ALIGNMENT): Use flag_vms_malloc64
5789 and flag_vms_pointer_size.
5790 (MASK_RETURN_ADDR): Set according to flag_vms_pointer_size.
5791 * config.gcc (*-*-*vms*): Define xm_file.
5792 (alpha*-dec-*vms*): Do not define xm_file.
5793 (alpha64-dec-*vms*): Remove.
5794 (ia64-hp-*vms*): Do not define xm_file. Simplify tm_file
5795 and tmake_file.
5796
7b5c5139
JJ
57972012-03-12 Jakub Jelinek <jakub@redhat.com>
5798
5799 PR tree-optimization/51721
5800 * tree-vrp.c (register_edge_assert_for_2): Add asserts for unsvar
5801 if (int) unsvar cmp CST.
5802
3f5f6592
RG
58032012-03-12 Richard Guenther <rguenther@suse.de>
5804
82e86dc6
UB
5805 * tree-sra.c (create_access_replacement): Only rename the replacement
5806 if we can rewrite it into SSA form. Properly mark register typed
5807 replacements that we cannot rewrite with TREE_ADDRESSABLE.
3f5f6592
RG
5808 * tree-cfg.c (verify_expr): Fix BIT_FIELD_REF verification
5809 for aggregate or BLKmode results.
5810
01c1f20d
JJ
58112012-03-12 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR tree-optimization/52533
5814 * tree-vrp.c (register_edge_assert_for_2): Use double_int
5815 type for mask, only handle shifts by non-zero in-range
5816 shift count, for LE_EXPR and GT_EXPR if new_val is
5817 maximum, don't add the assertion.
5818
bf2eaa3f
KY
58192012-02-12 Kirill Yukhin <kirill.yukhin@intel.com>
5820
5821 * doc/invoke.texi: Document -mrtm option.
82e86dc6 5822 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET): New.
bf2eaa3f
KY
5823 (OPTION_MASK_ISA_RTM_UNSET): Ditto.
5824 (ix86_handle_option): Handle OPT_mrtm.
5825 * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
5826 xtestintrin.h.
5827 (x86_64-*-*): Ditto.
5828 * i386-builtin-types.def (INT_FTYPE_VOID): New.
5829 * config/i386/i386-c.c (ix86_target_macros_internal): Define
5830 __RTM__ if needed.
5831 (ix86_target_string): Define -mrtm option.
5832 (PTA_RTM): New.
82e86dc6
UB
5833 (ix86_option_override_internal): Extend "corei7-avx" with RTM option.
5834 Handle new option.
bf2eaa3f
KY
5835 (ix86_valid_target_attribute_inner_p): Add OPT_mrtm.
5836 (ix86_builtins): Add IX86_BUILTIN_XBEGIN, IX86_BUILTIN_XEND,
5837 IX86_BUILTIN_XTEST.
5838 (bdesc_special_args): Ditto.
5839 (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_XABORT.
5840 (ix86_expand_special_args_builtin): Handle new built-in type.
5841 (ix86_expand_builtin): Handle XABORT instruction.
5842 * config/i386/i386.h (TARGET_RTM): New.
5843 * config/i386/i386.md (UNSPECV_XBEGIN): New.
5844 (UNSPECV_XEND): Ditto.
5845 (UNSPECV_XABORT): Ditto.
5846 (UNSPECV_XTEST): Ditto.
5847 (xbegin): Ditto.
5848 (xbegin_1): Ditto.
5849 (xend): Ditto.
5850 (xabort): Ditto
5851 (xtest): Ditto.
5852 (xtest_1): Ditto.
5853 * config/i386/i386.opt (mrtm): New.
82e86dc6 5854 * config/i386/immintrin.h: Include rtmintrin.h and xtestintrin.h.
bf2eaa3f
KY
5855 * config/i386/rtmintrin.h: New header.
5856 * config/i386/xtestintrin.h: Ditto.
5857
914e2f45
TG
58582012-03-12 Tristan Gingold <gingold@adacore.com>
5859
82e86dc6
UB
5860 * ginclude/stddef.h: Adjust previous patch.
5861 Use __VMS__ instead of VMS.
914e2f45 5862
f70c41dd
UB
58632012-03-12 Uros Bizjak <ubizjak@gmail.com>
5864
5865 * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2):
5866 Also convert sequences with CC setting arithmetic instruction.
5867
25d28bd3
SL
58682012-03-11 Sandra Loosemore <sandra@codesourcery.com>
5869
5870 * doc/invoke.texi (Option Summary): Move -no-integrated-cpp
5871 from C Language Options to Preprocessor Options.
5872 (C Dialect Options): Move -no-integrated-cpp documentation
5873 from here...
5874 (Preprocessor Options): ...to here. Rewrite the description
82e86dc6 5875 so it makes more sense, and remove discussion of merging front ends.
25d28bd3 5876
8100d8c1
L
58772012-03-11 H.J. Lu <hongjiu.lu@intel.com>
5878
5879 * config/i386/i386.c (ix86_expand_movmem): Use word_mode for size
5880 needed for loop.
5881 (ix86_expand_setmem): Likewise.
5882
670bb1a1
UB
58832012-03-11 Uros Bizjak <ubizjak@gmail.com>
5884
5885 * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
5886 convert_to_mode.
5887
ba61421d
L
58882012-03-11 H.J. Lu <hongjiu.lu@intel.com>
5889
5890 * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if
5891 ptr_mode == SImode. Replace DImode with Pmode or ptr_mode.
5892
649507af
L
58932012-03-11 H.J. Lu <hongjiu.lu@intel.com>
5894
670bb1a1 5895 * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode.
649507af 5896
1991321c
L
58972012-03-11 H.J. Lu <hongjiu.lu@intel.com>
5898
5899 * config/i386/i386.md (lwp_slwpcb): Check Pmode instead of
5900 TARGET_64BIT.
5901
9ec90caa
UB
59022012-03-11 H.J. Lu <hongjiu.lu@intel.com>
5903 Uros Bizjak <ubizjak@gmail.com>
1ce8d925 5904
9ec90caa 5905 * config/i386/predicates.md (call_insn_operand): Allow
1ce8d925
UB
5906 constant_call_address_operand in Pmode only.
5907 (sibcall_insn_operand): Ditto.
5908 * config/i386/i386.md (*call): Use W mode iterator instead of P mode.
5909 (*call_vzeroupper): Ditto.
5910 (*sibcall): Ditto.
5911 (*sibcall_vzeroupper): Ditto.
5912 (*call_value): Ditto.
5913 (*call_value_vzeroupper): Ditto.
5914 (*sibcall_value): Ditto.
5915 (*sibcall_value_vzeroupper): Ditto.
5916 (*indirect_jump): Ditto.
5917 (*tablejump_1): Ditto.
5918 (indirect_jump): Convert memory address to word mode for TARGET_X32.
5919 (tablejump): Ditto.
5920 * config/i386/i386.c (ix86_expand_call): Convert indirect operands
5921 to word mode.
5922
07c0b560
OE
59232012-03-11 Oleg Endo <olegendo@gcc.gnu.org>
5924
5925 PR target/51244
5926 * config/sh/sh.md (movnegt): Expand into respective insns immediately.
5927 Use movrt_negc instead of negc pattern for non-SH2A.
5928 (*movnegt): Remove.
5929 (*movrt_negc, *negnegt, *movtt, *movt_qi): New insns and splits.
5930
09255652
L
59312012-03-10 H.J. Lu <hongjiu.lu@intel.com>
5932
5933 * config/i386/i386.c (ix86_decompose_address): Disallow fs:(reg)
5934 if Pmode != word_mode.
5935 (legitimize_tls_address): Call gen_tls_initial_exec_x32 if
1ce8d925 5936 Pmode == SImode for TARGET_X32.
09255652
L
5937
5938 * config/i386/i386.md (UNSPEC_TLS_IE_X32): New.
5939 (tls_initial_exec_x32): Likewise.
5940
30823ba6
CLT
59412012-03-10 Chung-Lin Tang <cltang@codesourcery.com>
5942
5943 PR rtl-optimization/52528
5944 * combine.c (can_combine_p): Add setting of subst_low_luid
5945 before call to expand_field_assignment().
5946
b364b425
SL
59472012-03-09 Sandra Loosemore <sandra@codesourcery.com>
5948
5949 * doc/invoke.texi: Use correct names/markup for "GCC", "GDB", "ld",
5950 and related program names.
5951
7bd11aba
SL
59522012-03-09 Sandra Loosemore <sandra@codesourcery.com>
5953
5954 * doc/invoke.texi: Use correct names for "DWARF", "stabs", and "ELF".
5955
080324ac
UB
59562012-03-09 Uros Bizjak <ubizjak@gmail.com>
5957
5958 PR target/52530
5959 * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
5960 (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
5961 to set code to 'q'.
5962 * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
5963 (*movdi_internal_rex64): Use %E operand modifier for lea.
5964 (*movsi_internal): Ditto.
5965 (*lea_1): Ditto.
5966 (*lea<mode>_2): Ditto.
5967 (*lea_{3,4,5,6}_zext): Ditto.
5968 (*tls_global_dynamic_32_gnu): Ditto.
5969 (*tls_global_dynamic_64): Ditto.
5970 (*tls_dynamic_gnu2_lea_32): Ditto.
5971 (*tls_dynamic_gnu2_lea_64): Ditto.
5972 (pro_epilogue_adjust_stack_<mode>_add): Ditto.
5973
45cfa18d
MM
59742012-03-09 Michael Meissner <meissner@linux.vnet.ibm.com>
5975
5976 * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
5977 redefine to be NULL if the current bit-size is different from the
5978 configured bit-size.
5979
5980 * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
5981 cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
5982 set the default tuning. Add asserts to make sure the cpu and tune
5983 indexes are defined. Fix tests for cpu/tune index to use >= 0 to
5984 test whether the index is set, instead of > 0.
5985 (rs6000_file_start): Do not reset the default cpu if the current
5986 bit-size is different from the configured bit-size.
5987
30da483d
TG
59882012-03-09 Tristan Gingold <gingold@adacore.com>
5989
5990 * config/vms/vms-crtlmap.map: Add comments.
5991 Add entries needed to build Ada RTS.
5992
c8be95e6
TG
59932012-03-09 Tristan Gingold <gingold@adacore.com>
5994
5995 * ginclude/stddef.h: Do not define __size_t on VMS.
5996
412cd719
TG
59972012-03-09 Tristan Gingold <gingold@adacore.com>
5998
5999 * c-tree.h (c_default_pointer_mode): New variable.
6000 * c-decl.c (c_default_pointer_mode): New variable.
6001 (c_build_pointer_type): New function.
6002 (grokdeclarator): Call c_build_pointer_type instead
6003 of build_pointer_type.
6004
6005 * config/vms/vms-c.c: Include c-tree.h
6006 (saved_pointer_mode): New variable.
6007 (handle_pragma_pointer_size): New function.
6008 (vms_pragma_pointer_size, vms_pragma_required_pointer_size): Likewise.
6009 (vms_c_register_pragma): Register __pointer_size and
6010 __required_pointer_size pragmas.
6011
575a6235
TG
60122012-03-09 Tristan Gingold <gingold@adacore.com>
6013
6014 * config/vms/vms-c.c (vms_construct_include_filename): New function.
6015 (vms_c_register_includes): Reference it.
6016
210ac0b7
AP
60172012-03-09 Andrew Pinski <apinski@cavium.com>
6018
6019 PR middle-end/51988
6020 * tree-ssa-phiopt.c: Include tree-pretty-print.h for
6021 print_generic_expr.
6022 (tree_ssa_phiopt_worker): Go through all the PHIs for
6023 value_replacement instead of just the singleton one.
6024 (value_replacement): Change return type to int. Return 0 instead of
6025 false.
575a6235
TG
6026 Allow the middle basic block to contain more than just the defining
6027 statement.
210ac0b7
AP
6028 Handle non empty middle basic blocks.
6029 * Makefile.in (tree-ssa-phiopt.o): Add tree-pretty-print.h.
6030
bef28ced
JL
60312012-03-09 Jiangning Liu <jiangning.liu@arm.com>
6032
6033 * tree-scalar-evolution (interpret_rhs_expr): generate chrec for
6034 array reference and component reference.
6035 (analyze_scalar_evolution_for_address_of): New.
6036
9916d7ea
JZ
60372012-03-08 Jie Zhang <jzhang918@gmail.com>
6038
6039 PR target/49862
080324ac 6040 * config/bfin/bfin.c (hwloop_optimize): Fix unused variable warnings.
9916d7ea
JZ
6041 (hwloop_pattern_reg): Fix set but not used warning.
6042 (bfin_reorg_loops): Remove unused parameter.
6043 (bfin_reorg): Update use of bfin_reorg_loops.
6044
cc845923
L
60452012-03-08 H.J. Lu <hongjiu.lu@intel.com>
6046
6047 * config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
6048 with integer parameters in registers.
6049 (gen_push): Push register in word_mode instead of Pmode.
6050 (ix86_emit_save_regs): Likewise.
080324ac 6051 (ix86_emit_save_regs_using_mov): Save integer registers in word_mode.
cc845923
L
6052 (gen_pop): Pop register in word_mode instead of Pmode.
6053 (ix86_emit_restore_regs_using_pop): Likewise.
6054 (ix86_expand_prologue): Replace Pmode with word_mode for push
6055 immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
6056 restore RAX and R10 in word_mode.
6057 (ix86_emit_restore_regs_using_mov): Restore integer registers
6058 in word_mode.
6059 (ix86_expand_split_stack_prologue): Save R10_REG and restore in
6060 word_mode.
6061 (ix86_split_to_parts): Use word_mode with PUT_MODE for push.
6062 (ix86_split_long_move): Likewise.
6063
6064 * config/i386/i386.md (W): New.
6065 (*push<mode>2_prologue): Replace :P with :W.
6066 (*pop<mode>1): Likewise.
6067 (*pop<mode>1_epilogue): Likewise.
6068 (push/pop peephole2): Use word_mode scratch registers.
6069
b9719055
UB
60702012-03-08 Uros Bizjak <ubizjak@gmail.com>
6071
6072 * config/i386/predicates.md (indirect_branch_operand): Simplify.
6073
e04d063b
GJL
60742012-03-08 Georg-Johann Lay <avr@gjlay.de>
6075
6076 * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
6077 for constants in [-63,63].
6078
ce19a3f8
UB
60792012-03-08 Uros Bizjak <ubizjak@gmail.com>
6080
6081 PR target/52530
6082 Revert:
6083 2012-03-04 H.J. Lu <hongjiu.lu@intel.com>
6084
6085 * config/i386/i386.c (ix86_print_operand_address): Only handle
6086 zero-extended DImode addresses.
6087
2527ff87
RO
60882012-03-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6089
6090 * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
6091 * configure: Regenerate.
6092
d93417c8
GJL
60932012-03-08 Georg-Johann Lay <avr@gjlay.de>
6094
6095 PR target/52496
6096 * config/avr/avr.c (avr_mem_clobber): New static function.
6097 (avr_expand_delay_cycles): Add memory clobber operand to
6098 delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
6099 * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
6100 (enable_interrupt, disable_interrupt): New expander.
6101 (nopv, sleep, wdr): New expanders.
6102 (delay_cycles_1): Add memory clobber.
6103 (delay_cycles_2): Add memory clobber.
6104 (delay_cycles_3): Add memory clobber.
6105 (delay_cycles_4): Add memory clobber.
6106 (cli_sei): New insn from former "enable_interrupt",
6107 "disable_interrupt" with memory clobber.
6108 (*wdt): New insn from former "wdt" with memory clobber.
6109 (*nopv): Similar, but for "nopv".
6110 (*sleep): Similar, but for "sleep".
6111
bed9e870
OE
61122012-03-07 Oleg Endo <olegendo@gcc.gnu.org>
6113 Kaz Kojima <kkojima@gcc.gnu.org>
6114
6115 PR target/52503
6116 * config/sh/sh.opt (msoft-atomic): Use Var instead of Mask.
6117 * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_SOFT_ATOMIC.
6118 (SUBTARGET_OVERRIDE_OPTIONS): Define.
6119
ca538e97
UB
61202012-03-07 Uros Bizjak <ubizjak@gmail.com>
6121
6122 * config/i386/predicates.md (x86_64_zext_general_operand): New.
6123 * config/i386/i386.md (*zero_extendsidi2_rex64): Change operand 1
6124 predicate to x86_64_zext_general_operand. Accept "Z" constraint.
6125
95f2389a
WL
61262012-03-07 Walter Lee <walt@tilera.com>
6127
6128 * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
6129 REG_CFA_* notes for the stack pointer.
6130 (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
6131 EH_RETURN_STACKADJ_RTX.
6132 * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
6133 generate REG_CFA_* notes for the stack pointer.
6134 (tilepro_expand_epilogue): Restore stack pointer by adjusting it
6135 by EH_RETURN_STACKADJ_RTX.
6136
0bd5f4dd
GJL
61372012-03-07 Georg-Johann Lay <avr@gjlay.de>
6138
6139 * doc/invoke.texi (AVR Built-in Macros): Correct condition for
6140 when __AVR_3_BYTE_PC__ is defined.
6141
397c0dc8
UB
61422012-03-07 Uros Bizjak <ubizjak@gmail.com>
6143
6144 * config/i386/i386.c (ix86_print_operand_punct_valid_p): Add '^'.
6145 (ix86_print_operand): Handle '^'.
6146 * config/i386/i386.md (*strmovdi_rex_1): Macroize memory operands
6147 using P mode iterator. Add %^ to asm template to conditionally emit
6148 addr32 prefix.
6149 (*rep_movdi_rex64): Ditto.
6150 (*strsetdi_rex_1): Ditto.
6151 (*rep_stosdi_rex64): Ditto.
6152 (*strmov{si,hi,qi}_1): Add %^ to asm template to
6153 conditionally emit addr32 prefix.
6154 (*rep_mov{si,qi}): Ditto.
6155 (*strset{si,hi,qi}): Ditto.
6156 (*rep_stos{si,qi}): Ditto.
6157 (*cmpstrnqi_nz_1): Ditto.
6158 (*cmpstrnqi_1): Ditto.
6159 (*strlenqi_1): Ditto.
6160
cccff71a
L
61612012-03-07 H.J. Lu <hongjiu.lu@intel.com>
6162
6163 * config/i386/i386.c (function_value_64): Return pointers in
6164 word_mode instead of Pmode.
6165 (ix86_promote_function_mode): Likewise.
6166
0f250839
RG
61672012-03-07 Richard Guenther <rguenther@suse.de>
6168
6169 * coverage.c (get_gcov_type): Use type_for_mode.
6170 (get_gcov_unsigned_t): Likewise.
6171 * expr.c (store_constructor): Use type_for_mode.
6172 (try_casesi): Likewise.
397c0dc8 6173 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates_for_size): Remove.
0f250839
RG
6174 (add_standard_iv_candidates): Use standard type trees.
6175 * dojump.c (do_jump): Remove dead code.
6176
647d4b75
RG
61772012-03-07 Richard Guenther <rguenther@suse.de>
6178
6179 * c-typeck.c (pointer_diff): Use c_common_type_for_size.
6180
73ddd02d
RG
61812012-03-07 Richard Guenther <rguenther@suse.de>
6182
6183 * convert.c (strip_float_extensions): Move ...
6184 * tree.c (strip_float_extensions): ... here.
6185
1274e3a4
GJL
61862012-03-07 Georg-Johann Lay <avr@gjlay.de>
6187
6188 PR target/52484
6189 * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
6190
96f9265a
RG
61912012-03-07 Richard Guenther <rguenther@suse.de>
6192
6193 * omp-low.c (extract_omp_for_data): Use signed_type_for.
6194 (expand_omp_for_generic): Likewise.
6195 (expand_omp_for_static_nochunk): Likewise.
6196 (expand_omp_for_static_chunk): Likewise.
6197 * tree-vect-stmts.c (vect_gen_perm_mask): Use type_for_mode.
6198 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
6199 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
6200 Use unsigned_type_for.
6201 (vect_create_cond_for_align_checks): Use signed_type_for.
6202
3f1960ac
AB
62032012-03-07 Andrey Belevantsev <abel@ispras.ru>
6204
6205 PR rtl-optimization/52203
6206 * sel-sched.c (estimate_insn_cost): New parameter pempty. Adjust
6207 all callers to pass NULL except ...
6208 (reset_sched_cycles_in_current_ebb): ... here, save the value
6209 in new variable 'empty'. Increase issue_rate only for
397c0dc8 6210 non-empty insns.
3f1960ac 6211
d6baa446
RC
62122012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
6213
6214 PR target/51417
397c0dc8
UB
6215 * Makefile.in: Let install-gcc-ar depend on installdirs,
6216 gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
d6baa446
RC
6217 Don't double canonicalize if cross-compiling.
6218
42601c63
GJL
62192012-03-07 Georg-Johann Lay <avr@gjlay.de>
6220
6221 PR target/52506
6222 * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
6223 to: RAMPZ, RAMPY, RAMPX, RAMPD.
6224 (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
6225
61108225
GJL
62262012-03-07 Georg-Johann Lay <avr@gjlay.de>
6227
6228 PR target/52505
6229 * config/avr/avr.c (avr_out_xload): Don't read unintentionally
6230 from RAM.
6231 * config/avr/avr.md (xload_8): Adjust insn length.
6232
b30e10ab
GJL
62332012-03-07 Georg-Johann Lay <avr@gjlay.de>
6234
6235 PR target/52461
6236 * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
6237 if RAMPZ affects reading from RAM.
6238
eb3e63cc
RG
62392012-03-07 Richard Guenther <rguenther@suse.de>
6240
6241 PR pch/52518
6242 PR pch/38987
6243 * doc/invoke.texi (Precompiled Headers): Remove sentence that
6244 suggests you can include PCHs from inside another header.
6245
788284ef
RS
62462012-03-07 Richard Sandiford <rdsandiford@googlemail.com>
6247
6248 PR middle-end/52515
6249 * rtl.h (pc_rtx, cc0_rtx, ret_rtx, simple_return_rtx): Add GTY markers.
6250
98b1d9b2
KT
62512012-03-07 Kai Tietz <ktietz@redhat.com>
6252
6253 * doc/invoke.texi (fwritable-relocated-rdata): Document
6254 new Cygwin/MinGW target option.
6255 * config/i386/winnt.c (i386_pe_unique_section): Ignore
6256 reloc if flag -fwritable-relocated-rdata is not set.
6257 (i386_pe_section_type_flags): Likewise.
6258 * config/i386/cygming.opt (fwritable-relocated-rdata):
6259 Add new flag variable flag_writable_rel_rdata.
6260
f409d239
RG
62612012-03-07 Richard Guenther <rguenther@suse.de>
6262
6263 * tree-ssa-math-opts.c (convert_mult_to_widen): Check actual
6264 precision against gimple constraints.
6265
ca4adc91
RS
62662012-03-06 Richard Sandiford <rdsandiford@googlemail.com>
6267
6268 PR middle-end/52372
6269 * rtl.h (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): Redefine as
6270 variables.
6271 (GR_PC, GR_CC0, GR_RETURN, GR_SIMPLE_RETURN): Delete.
6272 * emit-rtl.c (pc_rtx, ret_rtx, simple_return_rtx, cc0_rtx): New
6273 variables.
6274 (init_emit_regs): Move associated initialization to...
6275 (init_emit_once): ...here.
6276
22a89c86
RH
62772012-03-06 Richard Henderson <rth@redhat.com>
6278
6279 * config/m68k/m68k.h (ISA_HAS_TAS): New.
6280 * config/m68k/sync.md (atomic_test_and_set): Use it.
6281 (atomic_test_and_set_1): Likewise.
6282
46402cbe
MM
62832012-03-06 Michael Meissner <meissner@linux.vnet.ibm.com>
6284
6285 PR target/50310
6286 * config/rs6000/vector.md (vector_uneq<mode>): Add support for
6287 UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
6288 (vector_ltgt<mode>): Likewise.
6289 (vector_ordered<mode>): Likewise.
6290 (vector_unordered<mode>): Likewise.
397c0dc8 6291 * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
46402cbe 6292
6342e53f
AH
62932012-03-06 Aldy Hernandez <aldyh@redhat.com>
6294
6295 * trans-mem.c: New typedef for tm_region_p.
6296 Define vector types for tm_region_p.
6297 (tm_region_init): Replace region_worklist to a vector called
6298 bb_regions.
6299
d8f56643
RG
63002012-03-06 Richard Guenther <rguenther@suse.de>
6301
6302 * fold-const.c (build_fold_addr_expr_with_type_loc): Fold
6303 MEM_REF with constant pointer operand.
6304
9da5500b
RG
63052012-03-06 Richard Guenther <rguenther@suse.de>
6306
6307 PR middle-end/52493
6308 * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
6309
66df6e9e
TG
63102012-03-06 Tristan Gingold <gingold@adacore.com>
6311
397c0dc8 6312 * config/vms/vms-c.c (vms_pragma_nomember_alignment): Handle octaword.
66df6e9e
TG
6313 (external_model_kind): Improve documentation.
6314 (vms_pragma_extern_model): Handle relaxed_redef.
6315 (vms_c_register_pragma): Allow expansion for nomember_alignment.
6316
837fd3b0
GJL
63172012-03-06 Georg-Johann Lay <avr@gjlay.de>
6318
6319 * doc/invoke.texi (AVR Options): -mmcu=: Document the XMEGA cores.
6320 Explain RAMPD, RAMPX, RAMPDY, RAMPZ usage by avr-gcc.
6321 Some more notes on EIND usage and reorder EIND subsection.
6322
17a27c59
TG
63232012-03-06 Tristan Gingold <gingold@adacore.com>
6324
6325 * config/vms/vms.c (VMS_CRTL_LDBL): Rename from VMS_CRTL_PRNTF.
6326 * config/vms/vms-crtlmap.map: Rename PRNTF to LDBL.
6327
a2ddaaf5
TG
63282012-03-06 Tristan Gingold <gingold@adacore.com>
6329
6330 * config/vms/t-vmsnative (version): Define.
6331 * config/vms/t-vms (STMP_FIXPROTO, STMP_FIXINC, version): Remove.
6332
b7b5540a
AB
63332012-03-06 Andrey Belevantsev <abel@ispras.ru>
6334
6335 PR rtl-optimization/52250
6336 * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
6337 to put note list into. Unconditionally call move_bb_info.
6338 (move_bb_info): Do not assert the blocks being in the same region,
a2ddaaf5 6339 just drop the note list if they are not.
b7b5540a 6340
9747719a
OE
63412012-03-06 Oleg Endo <olegendo@gcc.gnu.org>
6342
6343 PR target/51244
6344 * config/sh/sh.c (sh_expand_t_scc): Remove SH2A special case
6345 and use unified expansion logic.
6346 * config/sh/sh.md (xorsi3_movrt): Rename to movrt. Move
6347 closer to the existing movt insn.
6348 (negc): Rename insn to *negc. Add new expander.
6349 (movnegt): Use xor pattern for T bit negation. Reserve helper
6350 constant for negc pattern.
6351 (*movnegt): New insn and splitter.
6352
5de72424
BS
63532012-03-05 Bernd Schmidt <bernds@codesourcery.com>
6354
6355 * c-typeck.c (pointer_diff): Check for POINTER_PLUS_EXPR, not
6356 PLUS_EXPR.
6357
3b1552c1
RH
63582012-03-05 Richard Henderson <rth@redhat.com>
6359
6360 * genemit.c (main): Include "target.h" in insn-emit.c.
6361 * Makefile.in (insn-emit.o): Depend on TARGET_H.
6362 * config/sh/sync.md (atomic_test_and_set): Reference
6363 targetm.atomic_test_and_set_trueval instead of
6364 TARGET_ATOMIC_TEST_AND_SET_TRUEVAL.
6365
1565f169
JR
63662012-03-05 Joern Rennecke <joern.rennecke@embecosm.com>
6367
6368 * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
6369 Make static.
6370
c0814136
SB
63712012-03-05 Steven Bosscher <steven@gcc.gnu.org>
6372
6373 * langhooks.c (add_builtin_type): New function.
6374 * langhooks.h (add_builtin_type): Export it.
6375 * config/mep/mep.c (mep_init_builtins): Use it.
6376 * config/rs6000/rs6000.c (rs6000_init_builtins): Use it.
6377
1e3c1d95
JJ
63782012-03-05 Jakub Jelinek <jakub@redhat.com>
6379
6380 PR debug/51902
6381 * tree.h (BLOCK_SAME_RANGE): Define.
6382 * function.c (block_fragments_nreverse): Clear BLOCK_SAME_RANGE
6383 if BLOCK_FRAGMENT_CHAIN is non-NULL, but has it cleared.
6384 Also clear BLOCK_SAME_RANGE if fragment chain's supercontext fragment
6385 isn't equal to supercontext fragment's fragment chain.
6386 Adjust BLOCK_SUPERCONTEXT to point to supercontext fragment's
6387 fragment origin.
6388 (blocks_nreverse_all): Likewise.
6389 (reorder_blocks_1): Compute BLOCK_SAME_RANGE bits. Set
6390 BLOCK_SUPERCONTEXT to supercontext fragment instead of
6391 supercontext fragment's fragment origin.
6392 * dwarf2out.c (add_high_low_attributes): If stmt has the same
6393 range as its parent (or parents thereof etc.), use the parent's
6394 DW_AT_ranges value instead of creating a new .debug_ranges range.
6395
4999c62c
RH
63962012-03-05 Richard Henderson <rth@redhat.com>
6397
6398 PR tree-opt/52242
6399 Revert: 2011-11-26 Richard Henderson <rth@redhat.com>
6400 * omp-low.c (expand_omp_atomic): Assume anything aligned to
6401 BIGGEST_ALIGNMENT is aligned.
6402
95a6dda5
RH
64032012-03-05 Richard Henderson <rth@redhat.com>
6404
6405 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Move...
6406 * config/sh/sh.c: ... here.
6407
b7313c30
RH
64082012-03-05 Richard Henderson <rth@redhat.com>
6409
6410 PR target/52481
6411 * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
6412 instead of calling negqi2 directly.
6413
f49b12f4
RH
64142012-03-05 Aldy Hernandez <aldyh@redhat.com>
6415
6416 PR middle-end/52463
6417 * trans-mem.c (tm_region_init): Use last_basic_block.
6418
ab649754
OE
64192012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
6420
6421 * config/sh/sh.h (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
6422 * config/sh/sync.md (atomic_test_and_set): New expander.
6423 (tasb, atomic_test_and_set_soft): New insns.
6424 * config/sh/sh.opt (menable-tas): New option.
6425 * doc/invoke.texi (SH Options): Document it.
6426
510dbcce
RG
64272012-03-05 Richard Guenther <rguenther@suse.de>
6428
6429 * cfgloop.c (verify_loop_structure): Verify dominators before
6430 using them.
6431 * graphite-clast-to-gimple.c (graphite_verify): Do not verify
6432 dominators from here.
6433 * graphite-scop-detection.c (create_sese_edges): Likewise.
6434 * loop-doloop.c (doloop_optimize_loops): Likewise.
6435 * loop-init.c (loop_optimizer_init): Likewise.
6436 * loop-unroll.c (unroll_and_peel_loops): Likewise.
6437 * loop-unswitch.c (unswitch_loops): Likewise.
6438 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
6439 * tree-parloops.c (parallelize_loops): Likewise. Verify
6440 only when checking is enabled.
6441 * tree-loop-distribution.c (tree_loop_distribution): Likewise.
6442
50bcfce0
BS
64432012-03-05 Bernd Schmidt <bernds@codesourcery.com>
6444
6445 * genautomata.c (parse_automata_opt): New static function.
6446 (initiate_automaton_gen): Remove all option handling code. Remove
6447 argc argument. All callers changed.
397c0dc8 6448 (main): Call init_rtx_reader_args_cb with the new function as argument.
50bcfce0 6449
cd7d9fd7
RG
64502012-03-05 Richard Guenther <rguenther@suse.de>
6451
6452 * cfgexpand.c (gimple_expand_cfg): Free dominator info.
6453 * tree-if-conv.c (combine_blocks): Free post-dominator info
6454 after breaking it.
6455 * tree-parloops.c (create_parallel_loop): Free and re-compute
6456 dominator info after breaking it.
6457
b55f62cc
RG
64582012-03-05 Richard Guenther <rguenther@suse.de>
6459
6460 PR middle-end/52353
6461 * optabs.h (trapv_unoptab_p): New function.
6462 (trapv_binoptab_p): Likewise.
6463 * optabs.c (expand_binop): Use emit_libcall_block_1 with
6464 a proper equiv_may_trap argument.
6465 (expand_unop): Likewise.
6466 (emit_libcall_block_1): Take extra argument whether the
6467 instruction may trap. Renamed from ...
6468 (emit_libcall_block): ... this. New wrapper.
6469
f9df6f16
JJ
64702012-03-05 Jakub Jelinek <jakub@redhat.com>
6471
3877a6a6
JJ
6472 PR tree-optimization/51721
6473 * tree-vrp.c (register_edge_assert_for_2): If comparing
6474 lhs of right shift by constant with an integer constant,
6475 add ASSERT_EXPRs for the rhs1 of the right shift.
6476
f9df6f16
JJ
6477 * cfgrtl.c (cfg_layout_merge_blocks): Cleanup.
6478
45c0175b
RG
64792012-03-05 Richard Guenther <rguenther@suse.de>
6480
6481 * tree.c (integer_zerop): Handle VECTOR_CSTs.
6482 (integer_onep): Likewise.
6483 (integer_all_onesp): Likewise.
6484
d84f3a05
GJL
64852012-03-05 Georg-Johann Lay <avr@gjlay.de>
6486
6487 * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
6488
55b86fb0
L
64892012-03-04 H.J. Lu <hongjiu.lu@intel.com>
6490
6491 * config/i386/i386.c (pro_epilogue_adjust_stack): Check Pmode
6492 instead of TARGET_64BIT.
6493
4732e8de
L
64942012-03-04 H.J. Lu <hongjiu.lu@intel.com>
6495
6496 * config/i386/i386.c (ix86_expand_prologue): Check Pmode to set
6497 adjust_stack_insn.
6498
5ca9708b
L
64992012-03-04 H.J. Lu <hongjiu.lu@intel.com>
6500
6501 * config/i386/i386.c (ix86_print_operand_address): Only handle
6502 zero-extended DImode addresses.
6503
f0050a4b
UB
65042012-03-04 Uros Bizjak <ubizjak@gmail.com>
6505
6506 * config/i386/i386.c (ix86_print_operand) <case '+'>: Declare
6507 taken and cputaken as bool.
6508
904eea2c
UB
65092012-03-04 Uros Bizjak <ubizjak@gmail.com>
6510
6511 * config/i386/constraints.md (Ya): New internal constraint.
6512 * config/i386/i386.md (zero_extendsidi2): Remove expansion.
6513 (*zero_extendsidi2_rex64): Add x,x alternative.
6514 (*zero_extendsidi2): Ditto. Add o,0 alternative.
6515 Remove flags reg clobber. Adjust corresponding splits.
6516 (zero_extend<mode>si2): Macroize expander from zero_extendhisi2 and
6517 zero_extendqisi2 expanders using SWI12 mode iterator.
6518 (zero_extend<mode>si2_and): Macroize insn from
6519 zero_extendhisi2_and and zero_extendqisi2_and. Merge corresponding
6520 splitters.
6521 (*zero_extend<mode>si2): Macroize insn from
6522 *zero_extendhisi2_movzbl and *zero_extendqisi2_movzbl.
6523 (*zero_extend*2_movzbl_and): Remove insn patterns.
6524 (zero_extendqihi2_and): Merge corresponding splitter.
6525 (*zero_extendqihi2): Rename from *zero_extendqihi2_movzbl.
6526 (*zero_extend*2_movzbl_and): Remove insn patterns.
6527 (*anddi_1): Split TYPE_IMOVX instructions.
6528 (*andsi_1): Use Ya for alternative 2. Split TYPE_IMOVX instructions.
6529 (*andhi_1): Ditto.
6530 (and->zext splitter): Add splitter pattern.
6531 (zero extend with andsi3 splitter): Adjust zero_extend pattern.
6532
b12866c7
SL
65332012-03-04 Sandra Loosemore <sandra@codesourcery.com>
6534
6535 * doc/invoke.texi (C++ Dialect Options): Minor copy-edits to
6536 x86-specific text.
6537 (Debugging Options): Likewise.
6538 (Optimize Options): Likewise.
6539 (i386 and x86-64 Options): Discuss -march before -mtune, consistently
6540 with other architectures. Use official processor names with correct
6541 spelling/capitalization. Fix formatting and grammar issues.
6542 (i386 and x86-64 Windows Options): Similar cleanup here.
6543
4feaca8b
KK
65442012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
6545
6546 * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
6547
59248459
KK
65482012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
6549
6550 * config/sh/sh.c (sh_dwarf_register_span): Don't apply
6551 DBX_REGISTER_NUMBER.
6552
dea148c4
KK
65532012-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
6554
6555 * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
6556 operand is CONST_INT. Take COSTS_N_INSNS into account.
6557 (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value
6558 of shiftcosts.
6559
a6de595f
RH
65602012-03-02 Richard Henderson <rth@redhat.com>
6561
6562 * optabs.c (expand_atomic_test_and_set): Honor
6563 atomic_test_and_set_trueval even when atomic_test_and_set
6564 optab is not in use.
6565
4978c736
KK
65662012-03-02 Kaz Kojima <kkojima@gcc.gnu.org>
6567
6568 PR target/48596
6569 PR target/48806
6570 * config/sh/sh.c (sh_register_move_cost): Increase cost between
6571 GENERAL_REGS and FP_REGS for SImode.
6572
5e44ea89
OE
65732012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
6574
6575 PR target/49486
6576 * config/sh/sh.md (negdi2): Add TARGET_SH1 condition.
6577 (absdi2): New expander.
6578 (*absdi2, *negabsdi2, negdi_cond): New insns and splits.
6579
349e6f05
OE
65802012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
6581
b5ea8036
OE
6582 * config/sh/sync.md (atomic_exchange<mode>): New expander.
6583 (atomic_exchange<mode>_soft): New insn.
6584
65852012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
6586
6587 * config/sh/sync.md: Update copyright notice dates.
349e6f05
OE
6588 (atomic_compare_and_swap<mode>): Use SImode for return value instead
6589 of QImode.
b5ea8036 6590 (atomic_compare_and_swap<mode>_soft): Likewise.
349e6f05
OE
6591
65922012-03-02 Oleg Endo <olegendo@gcc.gnu.org>
904eea2c 6593
b6a0df6c
OE
6594 PR target/31640
6595 * config/sh/sh.h (LOOP_ALIGN): Move logic to sh_loop_align.
6596 * config/sh/sh.c: Update copyright notice dates.
6597 (sh_loop_align): Add logic from LOOP_ALIGN. Don't disable loop
6598 alignment for TARGET_HARD_SH4.
904eea2c 6599 (sh_option_override): Reduce default function alignment. Set
b6a0df6c
OE
6600 loop alignment to 4 bytes when not optimizing for size.
6601
093193be
MK
66022012-03-02 Maxim Kuvyrkov <maxim@codesourcery.com>
6603
290d87eb 6604 PR middle-end/50335
093193be
MK
6605 * doc/invoke.texi (floop-flatten): Remove.
6606 * toplev.c (process_options): Remove references to flag_loop_flatten.
6607 * tree-ssa-loop.c (gate_graphite_transform): Same.
6608 * common.opt (floop-flatten): Obsolete.
6609 * graphite-poly.c (apply_poly_transforms): Remove reference to
6610 flag_loop_flatten.
6611 * Makefile.in (graphite-flattening.o): Remove.
6612 * graphite-flattening.c: Remove.
6613
34c5f21a
UB
66142012-03-02 Uros Bizjak <ubizjak@gmail.com>
6615
6616 * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
6617 having mode compatible with the mode of previous compare. Substitute
6618 compare mode of previous compare with the mode, compatible
6619 with eliminated and previous compare.
6620
6f975f93
PB
66212012-03-02 Peter Bergner <bergner@vnet.ibm.com>
6622
6623 * config/rs6000/dfp.md (floatdidd2): New define_insn.
6624
76945a7c
UB
66252012-03-02 Uros Bizjak <ubizjak@gmail.com>
6626
6627 * config/i386/i386.c (ix86_cc_modes_compatible): Declare CCZmode
6628 compatible with CCGOCmode and CCGCmode.
6629
2ff16893
PB
66302012-03-02 Peter Bergner <bergner@vnet.ibm.com>
6631
6632 * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
6633
5d216c70
UW
66342012-03-02 Ulrich Weigand <ulrich.weigand@linaro.org>
6635
6636 * config/arm/arm.c (arm_sat_operator_match): New function.
6637 * config/arm/arm-protos.h (arm_sat_operator_match): Add prototype.
6638 * config/arm/arm.md ("insn" attribute): Add "sat" value.
6639 ("SAT", "SATrev"): New code iterators.
6640 ("SATlo", "SAThi"): New code iterator attributes.
6641 ("*satsi_<SAT:code>"): New pattern.
6642 ("*satsi_<SAT:code>_shift"): Likewise.
6643 * config/arm/arm-fixed.md ("arm_ssatsihi_shift"): Add "insn"
6644 and "shift" attributes.
6645 ("arm_usatsihi"): Add "insn" attribute.
6646 * config/arm/predicates.md (sat_shift_operator): Allow multiplication
6647 by powers of two. Do not allow shift by 32.
6648
2b57045b
UB
66492012-03-02 Uros Bizjak <ubizjak@gmail.com>
6650
6651 PR target/46716
6652 * config/i386/i386.c (construct_container): Use gen_reg_or_parallel
6653 to pass the argument in the register of "natural" mode.
6654
c4ddde1b
RG
66552012-03-02 Richard Guenther <rguenther@suse.de>
6656
6657 PR tree-optimization/52406
6658 * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
6659 (struct indices): Add unconstrained_base member.
6660 (struct dr_alias): Remove unused vops member.
6661 (DR_UNCONSTRAINED_BASE): New define.
6662 * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
6663 add indices to allow their disambiguation. Make DR_BASE_OBJECT
6664 be an artificial access that covers the whole indexed object,
6665 or mark it with DR_UNCONSTRAINED_BASE if we cannot do so. Canonicalize
6666 plain decl base-objects to their MEM_REF variant.
6667 (dr_may_alias_p): When the base-object of either data reference
6668 has unknown size use only points-to information.
6669 (compute_affine_dependence): Make dumps easier to read and
6670 more verbose.
6671 * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
6672 DR_REF when looking for packed references.
6673 (vect_supportable_dr_alignment): Likewise.
6674
2d68f67f
GY
66752012-03-02 Greta Yorsh <Greta.Yorsh@arm.com>
6676
2b57045b 6677 * config/arm/arm-ldmstm.ml (write_ldm_commutative_peephole):
2d68f67f
GY
6678 Improve conditions for peepholes of loads followed by commutative
6679 operators.
2b57045b 6680 * config/arm/ldmstm.md: Regenerated.
2d68f67f 6681
45c29d4d
RG
66822012-03-02 Richard Guenther <rguenther@suse.de>
6683
6684 * BASE-VER: Set to 4.8.0.
6685
9094e001
RE
66862012-03-01 Richard Earnshaw <rearnsha@arm.com>
6687
6688 * config.gcc (obsolete): Add all ARM targets using the FPA.
6689 (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
6690 * doc/install.texi: Avoid references to obsolete ARM ports.
6691
82b06589
JR
66922012-03-01 Joern Rennecke <joern.rennecke@embecosm.com>
6693
6694 * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
6695
08b03910
JB
66962012-03-01 Jeremy Bennett <jeremy.bennett@embecosm.com>
6697 Joern Rennecke <joern.rennecke@embecosm.com>
6698
6699 * doc/extend.texi: Expand and update information on interrupt
6700 attribute for Epiphany.
6701
1ce35c11
OE
67022012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
6703
6704 * config/sh/sh-protos.h: Update copyright notice dates.
6705 * config/sh/sh.h: Likewise.
6706 * config/sh/sh.md: Likewise.
6707 * config/sh/constraints.md: Likewise.
6708 * config/sh/predicates.md: Likewise.
6709
f51a9d10
OE
67102012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
6711
6712 * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
6713 * config/sh/sh.c (tertiary_reload_operand): Likewise.
6714
d4217ae1
OE
67152012-03-01 Oleg Endo <olegendo@gcc.gnu.org>
6716
6717 * config/sh/constraints.md: Fix comment typo.
6718
5d9dc69a
JDA
67192012-03-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6720
6721 PR target/52408
6722 * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
6723 unsigned HOST_WIDE_INT.
6724 (zvdep_imm64): Likewise.
6725 (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
6726 (vdepi_and): Likewise.
6727 Likewise for unamed 64-bit patterns.
6728 * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
6729
0f68ba3e
AO
67302012-03-01 Alexandre Oliva <aoliva@redhat.com>
6731
6732 PR debug/52001
6733 PR rtl-optimization/52417
6734 * cselib.c (cselib_any_perm_equivs): New variable.
6735 (cselib_reset_table): Check that it's not set when not
6736 preserving constants.
6737 (cselib_add_permanent_equiv): Set it.
6738 (cselib_have_permanent_equivalences): New.
6739 (cselib_init, cselib_finish): Reset it.
6740 * cselib.h (cselib_have_permanent_equivalences): Declare.
6741 * alias.c (get_addr): Restore earlier behavior when there
6742 aren't permanent equivalences.
6743
2aceddd8
SB
67442012-03-01 Steven Bosscher <steven@gcc.gnu.org>
6745
6746 * config/mn10300/mn10300-modes.def: Fix copyright notice.
6747 * config/v850/v850-modes.def: Fix copyright notice.
6748
1619fcfc
GJL
67492012-03-01 Georg-Johann Lay <avr@gjlay.de>
6750
6751 * doc/extend.texi (AVR Built-in Functions): Document
6752 __builtin_avr_flash_segment.
6753
6754 * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
6755 * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
6756 (*split.flash_segment): New insn-and-split.
6757 * config/avr/avr.c (avr_init_builtins): Add local variables:
6758 const_memx_void_node, const_memx_ptr_type_node,
6759 char_ftype_const_memx_ptr.
6760
69ef9a79
JJ
67612012-03-01 Jakub Jelinek <jakub@redhat.com>
6762
6763 PR tree-optimization/52445
6764 * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
6765 add ssa_name_ver, offset and size fields and change store field
6766 to bool.
6767 (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
6768 (add_or_mark_expr): Likewise. Only consider previous stores
6769 with the same size and offset.
6770 (nt_init_block): Only look at gimple_assign_single_p stmts,
6771 doesn't look at rhs2.
6772
c1d9cb02
RG
67732012-03-01 Richard Guenther <rguenther@suse.de>
6774
6775 PR middle-end/52443
6776 * tree-cfg.c (verify_gimple_assign_unary): Allow any
6777 conversions from integral types to pointer types.
6778
b2ef48ef
GJL
67792012-03-01 Georg-Johann Lay <avr@gjlay.de>
6780
6781 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
2b57045b 6782 defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
b2ef48ef
GJL
6783 unintentionally removed in r184616.
6784
283b5296
VK
67852012-03-01 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
6786
6787 * doc/invoke.texi: Document AMD bdver2 and remove mentioning
6788 3DNow from bdver1.
6789
29ebe616
JJ
67902012-02-29 Jakub Jelinek <jakub@redhat.com>
6791 Uros Bizjak <ubizjak@gmail.com>
6792
6793 PR target/52437
6794 * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
6795 alternatives, add "e" constraint to the new last alternative
6796 and ! to last 3 alternatives.
6797
fd787640
EB
67982012-02-29 Eric Botcazou <ebotcazou@adacore.com>
6799
6800 * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
6801 DW_AT_artificial attributes at the end of the processing.
6802 (gen_array_type_die): Likewise.
6803 (gen_enumeration_type_die): Likewise.
6804 (gen_struct_or_union_type_die): Likewise.
6805 (add_gnat_descriptive_type_attribute): Do not suppress debug info for
6806 the parent type.
6807
598e67d7
JJ
68082012-02-29 Jakub Jelinek <jakub@redhat.com>
6809
a3017cf1
JJ
6810 PR middle-end/52419
6811 * expr.c (expand_assignment): If doing misaligned store that doesn't
6812 cover all mode bits, perform a RMW cycle.
6813
598e67d7
JJ
6814 PR tree-optimization/52429
6815 * tree-parloops.c (separate_decls_in_region_debug): Return early
6816 if var is LABEL_DECL.
6817
529b39d8
BS
68182012-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6819
6820 PR tree-optimization/52424
6821 * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
6822 calling dom_thread_across_edge.
6823
43c626f0
GJL
68242012-02-29 Georg-Johann Lay <avr@gjlay.de>
6825
6826 * config/avr/avr.c: Move definition of TARGET macros to end of file.
6827
20848609
GJL
68282012-02-29 Georg-Johann Lay <avr@gjlay.de>
6829
6830 * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
6831 * config/avr/avr.c (avr_output_bld): Remove unused function.
6832 (avr_out_sbxx_branch): Use "%T" to print bit position.
6833
1edaa8b7
GJL
68342012-02-29 Georg-Johann Lay <avr@gjlay.de>
6835
6836 * config/avr/avr.md: Untabify.
6837
68382012-02-29 Georg-Johann Lay <avr@gjlay.de>
6839
6840 * config/avr/avr.md (eqne): New code iterator.
6841 (*dec-and-branchsi): Use it in text peephole's condition.
6842 (*dec-and-branchhi): Ditto.
6843 (*dec-and-branchqi): Ditto.
6844
df51e502
GJL
68452012-02-29 Georg-Johann Lay <avr@gjlay.de>
6846
6847 PR target/49939
6848 * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
6849 the device does not have the skip-bug.
6850
bf997c7d
OE
68512012-02-29 Oleg Endo <olegendo@gcc.gnu.org>
6852
6853 * doc/invoke.texi (-msoft-atomic): Add more detailed description.
6854 (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
6855 -mpretend-cmove): New.
6856
bf743fc4
JJ
68572012-02-29 Jakub Jelinek <jakub@redhat.com>
6858
6859 PR bootstrap/52397
6860 * df.h (struct df_d): Adjust comment that hard_regs_live_count
6861 doesn't count DEBUG_INSN refs.
6862 * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
6863 for DEBUG_INSN refs.
6864
211bea38
UW
68652012-02-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6866
6867 Partially revert:
6868
6869 2012-02-20 Richard Guenther <rguenther@suse.de>
6870 PR tree-optimization/52298
6871 * tree-vect-stmts.c (vectorizable_load): Properly use
6c381d9d 6872 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing outer loops.
211bea38 6873
19c0d7df
AH
68742012-02-28 Aldy Hernandez <aldyh@redhat.com>
6875
6876 PR middle-end/51752
6877 * gimple.h (gimple_in_transaction): New.
6878 (gimple_set_in_transaction): New.
6879 (struct gimple_statement_base): Add in_transaction field.
6880 * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
6881 transaction loads.
6882 (tree_ssa_lim_initialize): Compute transaction bits.
6883 * tree.h (compute_transaction_bits): Protoize.
6884 * trans-mem.c (tm_region_init): Use the heap to store BB
6885 auxilliary data.
6886 (compute_transaction_bits): New.
6887
cdbfc61d
BRF
68882012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6889
6890 * gcc.c (display_help): Document --help=common and sort entries
6891 alphabetically.
6892
6c6b6634
BRF
68932012-02-28 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6894
6895 * doc/install.texi: Document check-$LANG specific shortcuts
6896
fd92bb80
MGD
68972012-02-28 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
6898
6899 PR target/51534
6900 * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
6901 and vcgtu.
6902 * config/arm/arm_neon.h: Regenerate.
6903 * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
6904 (neon_vcgeu): New insn.
6905 (neon_vcgtu): Likewise.
6906 * config/arm/neon.ml (s_8_32, u_8_32): New lists.
2b57045b 6907 (ops): Unsigned comparison intrinsics call a different builtin.
fd92bb80 6908
8eef33ca
RG
69092012-02-28 Richard Guenther <rguenther@suse.de>
6910
6911 PR target/52407
6912 * config/i386/i386.c (ix86_expand_vector_set): Fix element
6913 ordering for the VEC_CONCAT for two element vectors for
6914 V2SFmode, V2SImode and V2DImode.
6915
e3ed9d60
RE
69162012-02-28 Richard Earnshaw <rearnsha@arm.com>
6917
6918 PR target/49448
6919 * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
6920 detecting big-endian triplets.
6921
192af6e8
RE
69222012-02-28 Richard Earnshaw <rearnsha@arm.com>
6923
6924 * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
6925 mode if there is no type information available.
6926
b0eaa5b4
TK
69272012-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
6928
6929 PR tree-optimization/53207
6930 * doc/invoke.texi: Document as experimental and relying on graphite.
6931
f37cf6a9
GJL
69322012-02-28 Georg-Johann Lay <avr@gjlay.de>
6933
6934 * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
6935 of initializer to changes from r184614.
2b57045b 6936
85998a93
RG
69372012-02-28 Richard Guenther <rguenther@suse.de>
6938
6939 PR tree-optimization/52395
6940 * tree-sra.c (build_ref_for_offset): Also look at the base
6941 TYPE_ALIGN when figuring out the alignment of the replacement.
6942
3a5a825a
RG
69432012-02-28 Richard Guenther <rguenther@suse.de>
6944
6945 PR tree-optimization/52402
6946 * ipa-prop.c (ipa_modify_call_arguments): Properly use
6947 mis-aligned types when creating the accesses at the call site.
6948
639d0302
GJL
69492012-02-28 Georg-Johann Lay <avr@gjlay.de>
6950
6951 * config/avr/builtins.def: New file.
6952 * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
6953 * config/avr/avr.c (enum avr_builtin_id): Use it.
6954 (avr_init_builtins): Use it. And use avr_bdesc.
6955 (bdesc_1arg): Remove.
6956 (bdesc_2arg): Remove.
6957 (bdesc_3arg): Remove.
6958 (struct avr_builtin_description): Add field n_args.
6959 (avr_bdesc): New static variable using builtins.def.
6960 (avr_expand_builtin): Use it.
6961 Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
6962 (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
6963 Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
6964
8310dca7
GJL
69652012-02-28 Georg-Johann Lay <avr@gjlay.de>
6966
6967 PR target/52148
6968 * config/avr/avr.md (movmem_<mode>): Replace match_operand that
6969 match only one single hard register with respective hard reg rtx.
6970 (movmemx_<mode>): Ditto.
6971 * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
6972 insn anatomy of movmem[x]_<mode>.
6973 (avr_out_movmem): Same for printing assembler and operand usage.
6974
bae3b1bf
GJL
69752012-02-28 Georg-Johann Lay <avr@gjlay.de>
6976
6977 PR target/49868
6978 PR target/52261
6979 * doc/extend.texi (AVR Named Address Spaces): No more try to fix
6980 address spaces located outside of device flash.
6981
6982 * config/avr/avr.h (base_arch_s): Remove field n_segments.
6983 (mcu_type_s): Add field n_flash.
6984 * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
6985 Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
6986 (AVR_MCU): Add N_FLASH argument.
6987 * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
6988 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
6989 macro __FLASH<n> if that address space makes sense for the device.
6990 * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
6991 outside of target flash.
6992 (avr_asm_named_section): Ditto.
6993 (avr_asm_select_section): Ditto.
6994 (avr_addr_space_convert): Ditto.
6995 (avr_emit_movmemhi): Ditto.
6996 (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
6997 address space is outside of device flash.
6998 (avr_insert_attributes): Ditto.
6999 (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
7000 avr_current_arch->n_segments.
7001
afbf6e97
L
70022012-02-27 H.J. Lu <hongjiu.lu@intel.com>
7003
7004 PR target/52352
2b57045b 7005 * config/i386/i386.md (*movabs<mode>_1): Enable only for TARGET_LP64.
afbf6e97
L
7006 (*movabs<mode>_2): Likewise.
7007
2e216592
JJ
70082012-02-27 Jakub Jelinek <jakub@redhat.com>
7009
56b15099
JJ
7010 PR target/52375
7011 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
7012 s_register_operand in the test instead of REG_P. Don't call
7013 gen_reg_rtx if it won't be used.
7014
2e216592
JJ
7015 PR tree-optimization/52376
7016 * ipa-split.c (split_function): Ignore CLOBBER stmts.
7017
2662a821
SH
70182012-02-27 Stuart Henderson <shenders@gcc.gnu.org>
7019
7020 * ifcvt.c (noce_get_condition): Check condition variable is not
7021 small_register_classes_for_mode_p before accepting.
7022
f59280cf
UB
70232012-02-27 Uros Bizjak <ubizjak@gmail.com>
7024
7025 * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
7026
d2d6bcce
MGD
70272012-02-27 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
7028
7029 Revert:
7030 2012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
7031 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
7032 tuning parameters.
7033 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
7034
dac73555
OE
70352012-02-27 Oleg Endo <olegendo@gcc.gnu.org>
7036
7037 * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
7038
2eff0b9d
OE
70392012-02-26 Oleg Endo <olegendo@gcc.gnu.org>
7040
7041 * config/sh/predicates.md: Remove blank lines.
7042 * config/sh/sh.c: Fix typos in comments.
7043 * config/sh/constraints.md: Likewise.
7044 * config/sh/sh.md: Remove blank lines.
7045 Fix typos in comments. Use ;; as comment characters.
7046
7afd1a8e
WL
70472012-02-26 Walter Lee <walt@tilera.com>
7048
f59280cf 7049 * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
7afd1a8e
WL
7050 (replace_mov_pcrel_step2): Ditto.
7051
0e224656
AO
70522012-02-25 Alexandre Oliva <aoliva@redhat.com>
7053
a5628378
AO
7054 PR debug/52001
7055 * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
7056 (get_addr): Walk canonical value's locs. Avoid returning VALUEs
7057 and locs that reference values newer than the non-canonical value
7058 at hand. Return the canonical value as a worst case.
7059 (memrefs_conflict_p): Walk canonical value's locs.
7060
0e224656
AO
7061 PR debug/52001
7062 * cselib.c (preserve_only_constants): Rename to...
7063 (preserve_constants_and_equivs): ... this. Split out...
7064 (invariant_or_equiv_p): ... this. Preserve plus expressions
7065 of other preserved expressions too.
7066 (cselib_reset_table): Adjust.
7067 * var-tracking.c (reverse_op): Use canonical value to build
7068 reverse operation.
7069
15498cfa
KT
70702012-02-23 Kai Tietz <ktietz@redhat.com>
7071
7072 * config/i386/i386.c (ix86_delegitimize_address): Handle
7073 UNSPEC_PCREL plus displacement.
7074
39e73abc
GJL
70752012-02-24 Georg-Johann Lay <avr@gjlay.de>
7076
7077 PR target/52261
7078 * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
7079 to test for unusedness in st X addressing.
7080
b9af73fc
RG
70812012-02-24 Richard Guenther <rguenther@suse.de>
7082
7083 PR middle-end/52361
f59280cf 7084 * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
b9af73fc
RG
7085 (is_gimple_reg_type): Move inline ...
7086 * gimple.h (is_gimple_reg_type): ... here.
7087
6ae4eccd
RG
70882012-02-24 Richard Guenther <rguenther@suse.de>
7089
7090 PR middle-end/52361
7091 * passes.c (execute_function_todo): When verifying SSA form
7092 verify gimple form first.
7093 * tree-ssa.c (verify_ssa): Do not verify gimple form here.
7094
bf948210
RG
70952012-02-24 Richard Guenther <rguenther@suse.de>
7096
7097 PR middle-end/52355
7098 * fold-const.c (fold_addr_of_array_ref_difference): New function.
f59280cf 7099 (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
bf948210 7100
b8f4632c
BRF
71012012-02-13 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7102
7103 * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
7104
4021ad55
BRF
71052012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7106
7107 * tree-phinodes.c (make_phi_node): Mark static.
7108 * tree-flow.h (make_phi_node): Remove extern decl.
7109 * doc/gimple.texi (make_phi_node): Remove documentation.
7110
0eb09f31
BRF
71112012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7112
f59280cf 7113 * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
0eb09f31
BRF
7114 * tree-ssa-sccvn.c (print_scc): Ditto.
7115
6a953a91
BRF
71162012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7117
7118 * doc/passes.texi (Full redundancy elimination): Fix typo.
7119
55532e32
BRF
71202012-02-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7121
7122 * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
7123
6cbb4c32
EB
71242012-02-23 Eric Botcazou <ebotcazou@adacore.com>
7125
7126 PR bootstrap/52287
7127 * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
7128
560ad308
UB
71292012-02-23 Uros Bizjak <ubizjak@gmail.com>
7130
7131 PR c/52290
7132 * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
7133
f71f1418
GJL
71342012-02-23 Georg-Johann Lay <avr@gjlay.de>
7135
7136 * config/avr/avr.md (code_stdname): Add ior, xor.
7137 (xior): New code iterator.
7138 (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
7139 (*<code_stdname><mode>qi.byte1-3): Ditto.
7140
a348dc7f
JJ
71412012-02-23 Jakub Jelinek <jakub@redhat.com>
7142
7143 PR tree-optimization/52019
7144 * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
7145 CLOBBER stmts.
7146
e10e461e
UW
71472012-02-23 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7148
7149 * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
7150 HAVE_INITFINI_ARRAY to work around namespace pollution in
7151 certain versions of newlib system headers.
7152 * config.in: Regenerate.
7153 * configure: Regenerate.
7154 * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
7155 instead of HAVE_INITFINI_ARRAY.
7156
9517e333
UB
71572012-02-22 Uros Bizjak <ubizjak@gmail.com>
7158
7159 PR target/52330
7160 * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
7161 is not offsettable memory reference.
7162
219db888
GJL
71632012-02-22 Georg-Johann Lay <avr@gjlay.de>
7164
7165 PR target/18145
7166 * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
7167 setting avr_need_clear_bss_p for __gnu_lto* symbols.
7168
45958634
GJL
71692012-02-22 Georg-Johann Lay <avr@gjlay.de>
7170
7171 * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
9517e333 7172 * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
45958634 7173
bbd6a014
RO
71742012-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7175
7176 * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
7177 library on Solaris 8 even without TLS support.
7178 * configure: Regenerate.
7179
3e888a5e
RG
71802012-02-22 Richard Guenther <rguenther@suse.de>
7181
7182 PR middle-end/52329
7183 * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
7184 for GIMPLE_DEBUG stmts.
bbd6a014 7185
f18a7b25
MJ
71862012-02-22 Martin Jambor <mjambor@suse.cz>
7187
7188 PR middle-end/51782
7189 * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
7190 according to the base object.
7191
0b262c28
GJL
71922012-02-22 Georg-Johann Lay <avr@gjlay.de>
7193
7194 PR rtl-optimization/50063
7195 * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
7196 and 2 (8-bit SP) in operand 2.
7197 * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
7198 setup to use movhi_sp_r instead of vanilla move to write SP.
7199 Adjust REG_CFA notes to superseed unspec.
7200 (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
7201 of vanilla move.
7202 As function body might contain CLI or SEI: Use irq_state 0 (IRQ
7203 known to be off) only with TARGET_NO_INTERRUPTS. Never use
7204 irq_state 1 (IRQ known to be on) here.
7205
2805e6c0
BS
72062012-02-21 Bernd Schmidt <bernds@codesourcery.com>
7207
7208 * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
7209 WORDS_BIG_ENDIAN.
7210 * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
7211 assign_hard_reg): Likewise.
7212
72132012-02-21 Georg-Johann Lay <avr@gjlay.de>
1890e136
GJL
7214
7215 * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
7216
2805e6c0 72172012-02-21 Georg-Johann Lay <avr@gjlay.de>
4998825d
GJL
7218
7219 * config/avr/avr.md
7220 (*dec-and-branchhi!=-1.d.clobber): New text peephole.
7221 (*dec-and-branchhi!=-1.l.clobber): New text peephole.
7222
2805e6c0 72232012-02-21 Georg-Johann Lay <avr@gjlay.de>
0545950b
GJL
7224
7225 * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
7226 prototype from here to...
7227 * config/avr/avr.h: ...here.
7228
23d2a817
RE
72292012-02-21 Richard Earnshaw <rearnsha@arm.com>
7230
7231 PR target/52294
2805e6c0 7232 * thumb2.md (thumb2_shiftsi3_short): Split register and
23d2a817
RE
7233 immediate shifts. For register shifts tie operands 0 and 1.
7234 (peephole2 for above): Check that register-controlled shifts
7235 have suitably tied operands.
7236
602c3369
QN
72372012-02-21 Quentin Neill <quentin.neill@amd.com>
7238
7239 PR target/52137
7240 * config/i386/bdver1.md (bdver1_call, bdver1_push,
7241 bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
7242 bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
7243 bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
7244 bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
7245 bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
7246 bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
7247 bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
7248 bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
7249 bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
7250 bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
7251 bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
7252 bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
7253 bdver1_ssevector_avx256_unaligned_load,
7254 bdver1_ssevector_sse128_unaligned_load,
7255 bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
7256 bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
7257 bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
7258 bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
7259 bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
7260 bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
7261 bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
7262 bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
7263 bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
7264 bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
7265 bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
7266 bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
7267 bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
7268 bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
7269 bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
7270 bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
7271 bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
7272 bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
7273 bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
7274 bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
7275 bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
7276 bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
7277 bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
7278 bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
7279 bdver1_ssediv_double_load, bdver1_ssediv_double,
7280 bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
7281 Add "bdver2" attribute.
7282
61369bb8
AK
72832012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7284
7285 * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
7286 default if possible and not specified otherwise.
7287
0c2ad203
RG
72882012-02-21 Richard Guenther <rguenther@suse.de>
7289
7290 PR middle-end/52314
7291 * gimplify.c (create_tmp_from_val): Use the main variant type
7292 for the type of the temporary we create.
7293
01718e96
RG
72942012-02-21 Richard Guenther <rguenther@suse.de>
7295
7296 PR tree-optimization/52324
7297 * gimplify.c (gimplify_expr): When re-gimplifying expressions
7298 do not gimplify a MEM_REF address operand if it is already
7299 in suitable form.
7300
8540e6e8
AK
73012012-02-21 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7302
7303 * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
7304 TARGET_HARD_FLOAT with TARGET_HARD_DFP.
7305
d1e4b493
RG
73062012-02-21 Richard Guenther <rguenther@suse.de>
7307
7308 * tree-vect-stmts.c (vectorizable_load): Use pre-computed
7309 nested_in_vect_loop.
7310
949e47e5
JJ
73112012-02-21 Jakub Jelinek <jakub@redhat.com>
7312
7313 PR tree-optimization/52318
7314 * gimple-fold.c (gimplify_and_update_call_from_tree): Add
7315 vdef also to non-pure/const call stmts in the sequence.
7316
a2ddaaf5
TG
73172012-02-21 Tristan Gingold <gingold@adacore.com>
7318
7319 * config/vms/vms-ld.c (main): Fix IDENTIFICATION padding.
7320
3ed27cf5
DM
73212012-02-20 David S. Miller <davem@davemloft.net>
7322
7323 * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
7324 don't use the "rd %pc" instruction on v9 for PIC register loads.
7325
a4d031c7
AH
73262012-02-20 Aldy Hernandez <aldyh@redhat.com>
7327
7328 PR middle-end/52141
7329 * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
7330 in a transaction safe function.
7331
9954e17f
KT
73322012-02-20 Kai Tietz <ktietz@redhat.com>
7333
7334 PR target/52238
7335 * stor-layout.c (place_field): Handle desired_align for
7336 ms-bitfields, too.
7337
a7ce6ec3
RG
73382012-02-20 Richard Guenther <rguenther@suse.de>
7339
7340 PR tree-optimization/52298
7341 * tree-vect-stmts.c (vectorizable_store): Properly use
7342 STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
7343 outer loops.
7344 (vectorizable_load): Likewise.
7345 * tree-vect-data-refs.c (vect_analyze_data_ref_access):
7346 Access DR_STEP after ensuring it is not NULL.
7347
5a226e0a
JJ
73482012-02-20 Jakub Jelinek <jakub@redhat.com>
7349
7350 PR tree-optimization/52286
7351 * fold-const.c (fold_binary_loc): For (X & C1) | C2
7352 optimization use double_int_to_tree instead of build_int_cst_wide,
7353 rewrite to use double_int vars.
7354
e992fc2e
RO
73552012-02-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7356
7357 PR target/50166
7358 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
7359 Define _start.
7360 Remove -e 0 from $gcc_cv_ld invocation.
7361 Only use __GLIBC_PREREQ if defined.
7362 Enable on Solaris since Solaris 8 patch.
7363 (gcc_SUN_LD_VERSION): New macro.
7364 * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
7365 gcc_SUN_LD_VERSION for version number format.
7366 * configure: Regenerate.
7367 * varasm.c (get_elf_initfini_array_priority_section): Set
7368 SECTION_NOTYPE for non-default priority.
7369 Use get_section instead of get_unnamed_section to emit
7370 .init_array/.fini_array with default priority.
7371
78c27266
RS
73722012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
7373
7374 * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
7375 (mips_get_tp): Set it. Record that __mips16_rdhwr binds locally.
7376 (mips_start_unique_function, mips_output_mips16_rdhwr)
7377 (mips_code_end): New functions.
7378 (TARGET_ASM_CODE_END): Define.
7379
5adeb246
RS
73802012-02-19 Richard Sandiford <rdsandiford@googlemail.com>
7381
7382 * config/mips/mips.c (mips16_build_call_stub): Add CFI information
7383 to stubs with non-sibling calls.
7384
e1813255
SL
73852012-02-18 Sandra Loosemore <sandra@codesourcery.com>
7386
7387 * doc/invoke.texi (-fira-* options): Copy-edit.
7388 (ira-* parameters): Copy-edit.
7389
141a25c2
SL
73902012-02-17 Sandra Loosemore <sandra@codesourcery.com>
7391
7392 * doc/invoke.texi: Minor copy-edits to bring into conformance with
7393 GCC coding conventions.
7394
195a2e9d
SL
73952012-02-17 Sandra Loosemore <sandra@codesourcery.com>
7396
7397 * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
7398 when used as adjectives.
7399
1b015db7
SL
74002012-02-16 Sandra Loosemore <sandra@codesourcery.com>
7401
7402 * doc/invoke.texi: Clean up "that"/"which" confusion.
7403
7feed462
SB
74042012-02-17 Steven Bosscher <steven@gcc.gnu.org>
7405
7406 * system.h: Poison SMALL_REGISTER_CLASSES
7407 * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
7408 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
7409
ca786352
JJ
74102012-02-16 Jakub Jelinek <jakub@redhat.com>
7411
7412 PR tree-optimization/52285
7413 * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
7414 when deciding if a call is a tail call or tail recursion.
7415
525b3f60
KT
74162012-02-16 Kai Tietz <ktietz@redhat.com>
7417
7418 * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
7419 interger-constant displacement for UNSPEC_PCREL.
7420
04c937f5
JJ
74212012-02-16 Jakub Jelinek <jakub@redhat.com>
7422
3db93c89
JJ
7423 PR rtl-optimization/52208
7424 * ira-costs.c (scan_one_insn): Don't decrease mem_cost
7425 for MEMs with REG_EQUIV, if the MEM isn't general_operand.
7426
e20f6b4b
JJ
7427 PR tree-optimization/52255
7428 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
7429 loop->header has virtual PHI, but exit_e->dest doesn't, add
7430 virtual PHI to exit_e->dest and adjust all uses after the loop.
7431
04c937f5
JJ
7432 PR debug/52260
7433 * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
7434 children with clone_tree_hash, not after it.
7435
cebb4698
IS
74362012-02-16 Iain Sandoe <iains@gcc.gnu.org>
7437
7438 * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
7439 extended identifiers.
7440
cc8b9c31
JJ
74412012-02-16 Jakub Jelinek <jakub@redhat.com>
7442
183d6db2
JJ
7443 PR middle-end/51929
7444 * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
7445 a same_body_alias, also test whether e->callee isn't a former
7446 or current clone of the decl this is a same body alias of.
7447
cc8b9c31
JJ
7448 PR translation/52264
7449 * cgraphunit.c (verify_cgraph_node): Fix a typo.
7450
e3a66c38
SL
74512012-02-15 Sandra Loosemore <sandra@codesourcery.com>
7452
7453 * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
7454
a0367cc1
MM
74552012-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7456
7457 PR target/52199
7458 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
7459 force_reg instead of copy_to_reg for better optimization. Force
7460 non-register or memory operands into a register.
7461
b1cef2a5
AM
74622012-02-15 Andrew MacLeod <amacleod@redhat.com>
7463
7464 * extend.texi: Reserve upper bits of memory model for future use.
7465
2da8c1ad
GJL
74662012-01-15 Georg-Johann Lay <avr@gjlay.de>
7467 Anatoly Sokolov <aesok@post.ru>
7468 Eric Weddington <eric.weddington@atmel.com>
7469
7470 PR target/52261
7471 * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
7472 avrxmega4, avrxmega5, avrxmega6, avrxmega7.
7473 Rewrite initializers for .macro.
7474 * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
7475 avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
7476 atxmega32d4, atxmega32x1.
7477 avrxmega4: atxmega64a3, atxmega64d3.
7478 avrxmega5: atxmega64a1, atxmega64a1u.
7479 avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
7480 atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
7481 avrxmega7: atxmega128a1, atxmega128a1u.
7482 * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
7483 ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
7484 (struct base_arch_s): Rename reserved to xmega_p.
7485 Rename reserved2 to have_rampd.
7486 (AVR_XMEGA): New define.
7487 (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
7488 (AVR_HAVE_RAMPZ): Change definition to fit xmega.
7489 * config/avr/predicates.md (io_address_operand): Take into
7490 account SFR offset.
7491 (low_io_address_operand): Ditto.
7492 (high_io_address_operand): Ditto.
7493 * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
7494 (enabled, movhi_sp_r): Use them.
7495 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
7496 cpp_define_formatted to built-in define __AVR_ARCH__.
7497 (__AVR_XMEGA__): New built-in define.
7498 (__AVR_HAVE_RAMPD__): New built-in define.
7499 (__AVR_HAVE_RAMPX__): New built-in define.
7500 (__AVR_HAVE_RAMPY__): New built-in define.
7501 (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
7502
7503 * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
7504 (avr_option_override): Initialize them.
7505 (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
7506 (avr_init_expanders): Initialize them. No more block several calls.
7507 (emit_push_sfr): New static function.
7508 (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
7509 Handle AVR_XMEGA.
7510 (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
7511 (avr_print_operand): Print addreeses as symbols for
7512 RAMPX, RAMPY, RAMPD, CCP.
7513 (output_movhi): Handle AVR_XMEGA when writing to SP.
7514 (avr_out_movhi_mr_r_xmega): New static function.
7515 (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
7516 (avr_file_start): Print symbol defines for __RAMPX__, __RAMPY__,
7517 __RAMPD__, __CCP__ as needed.
7518
7519 * config/avr/multilib.h: Regenerate.
7520 * config/avr/t-multilib: Regenerate.
7521 * config/avr/avr-tables.opt: Regenerate.
7522
28db21ee
TG
75232012-02-15 Tobias Grosser <grosser@fim.uni-passau.de>
7524
7525 PR tree-optimization/50561
7526 * graphite-flattening.c (lst_project_loop): Do not
7527 remove old scattering dimensions after flattening.
7528 (lst_do_flatten): Likewise.
7529
0c578db6
GJL
75302012-02-15 Georg-Johann Lay <avr@gjlay.de>
7531
7532 * doc/extend.texi (AVR Built-in Functions): Remove doc for
7533 __builtin_avr_map8, __builtin_avr_map16.
7534 Document __builtin_avr_insert_bits.
7535
7536 * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
7537 (insert_bits): New insn.
7538 (adjust_len.map_bits): Rename to insert_bits.
7539 (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
7540 * avr-protos.h (avr_out_map_bits): Remove.
7541 (avr_out_insert_bits, avr_has_nibble_0xf): New.
7542 * config/avr/constraints.md (Cxf,C0f): New.
7543 * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
7544 defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
7545 New built-in define __BUILTIN_AVR_INSERT_BITS.
7546 * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
7547 (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
7548 (avr_move_bits): Rewrite.
7549 (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
7550 functions.
7551 (avr_map_op_t): New typedef.
7552 (avr_map_op): New static variable.
7553 (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
7554 (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
7555 (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
7556 (bdesc_3arg, avr_expand_triop_builtin): New.
7557 (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
7558 (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
7559 (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
7560 (avr_map_equal_p, avr_map_sig_p): Remove.
7561 (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
7562 (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
7563 (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
7564 (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
7565 (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
7566 (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
7567
9e7fe10e
BS
75682012-02-14 Bernd Schmidt <bernds@codesourcery.com>
7569
7570 * config/c6x/c6x.md (reserve_cycles): New attribute.
7571 * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
7572 don't reserve functional units after the branch occurs.
7573
a7ff6e27
AH
75742012-02-14 Aldy Hernandez <aldyh@redhat.com>
7575
7576 PR middle-end/52142
7577 * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
7578 functions into non-tm_pure functions.
7579
aa47290b
EB
75802012-02-14 Eric Botcazou <ebotcazou@adacore.com>
7581
7582 PR lto/52178
7583 * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
7584 (iterative_hash_canonical_type): Likewise.
7585 * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
7586 the dead edges.
7587
75882012-02-14 Bernd Schmidt <bernds@codesourcery.com>
b75f962c
BS
7589
7590 * haifa-sched.c (prune_ready_list): Ensure that if there is a
9517e333 7591 sched-group insn, it either remains alone or the entire list is pruned.
b75f962c 7592
169264b3
JW
75932012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
7594
7595 * doc/install.texi (Prerequisites): Fix grammar.
7596 (Configuration): Likewise.
7597
7a07ae52
JW
75982012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
7599
7600 * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
7601 MPC as part of GCC before describing configuring with --with-gmp etc.
7602 (Installing GCC: Configuration): --with-gmp etc. aren't needed if
7603 sources are present.
7604
a85ce59d
JJ
76052012-02-14 Jakub Jelinek <jakub@redhat.com>
7606
7607 PR debug/51950
7608 * dwarf2out.c (clone_tree_hash): New function.
7609 (copy_decls_walk): Use it instead of clone_tree.
7610
8085c586
RG
76112012-02-14 Richard Guenther <rguenther@suse.de>
7612
7613 PR tree-optimization/52244
7614 PR tree-optimization/51528
7615 * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
7616 replacements for integral types.
7617
dd552284
WL
76182012-02-14 Walter Lee <walt@tilera.com>
7619
7620 * config.gcc: Handle tilegx and tilepro.
7621 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
7622 tilegx and tilepro.
7623 Add HAVE_AS_TLS check for tilegx and tilepro.
7624 * configure: Regenerate.
7625 * doc/contrib.texi: Add Mat Hostetter and self.
7626 * doc/extend.texi (TILE-Gx Built-in Functions): New node.
7627 Document instruction intrinsics and network accessing intrinsics.
7628 (TILEPro Built-in Functions): New node. Document instruction
7629 intrinsics and network accessing intrinsics.
7630 * doc/install.texi (Specific, tilegx-*-linux*): Document it.
7631 (Specific, tilepro-*-linux*): Likewise.
7632 * doc/invoke.texi (TILE-Gx Options): New section.
7633 (TILEPro Options): New section.
7634 * doc/md.texi (TILE-Gx): New section.
7635 (TILEPro): New section.
7636 * common/config/tilegx/tilegx-common.c: New file.
7637 * common/config/tilepro/tilepro-common.c: New file.
7638 * config/tilegx/constraints.md: New file.
7639 * config/tilegx/linux.h: New file.
7640 * config/tilegx/mul-tables.c: New file.
7641 * config/tilegx/predicates.md: New file.
7642 * config/tilegx/sync.md: New file.
7643 * config/tilegx/t-tilegx: New file.
7644 * config/tilegx/tilegx-builtins.h: New file.
7645 * config/tilegx/tilegx-c.c: New file.
7646 * config/tilegx/tilegx-generic.md: New file.
7647 * config/tilegx/tilegx-modes.def: New file.
7648 * config/tilegx/tilegx-multiply.h: New file.
7649 * config/tilegx/tilegx-protos.h: New file.
7650 * config/tilegx/tilegx.c: New file.
7651 * config/tilegx/tilegx.h: New file.
7652 * config/tilegx/tilegx.md: New file.
7653 * config/tilegx/tilegx.opt: New file.
7654 * config/tilepro/constraints.md: New file.
7655 * config/tilepro/gen-mul-tables.cc: New file.
7656 * config/tilepro/linux.h: New file.
7657 * config/tilepro/mul-tables.c: New file.
7658 * config/tilepro/predicates.md: New file.
7659 * config/tilepro/t-tilepro: New file.
7660 * config/tilepro/tilepro-builtins.h: New file.
7661 * config/tilepro/tilepro-c.c: New file.
7662 * config/tilepro/tilepro-generic.md: New file.
7663 * config/tilepro/tilepro-modes.def: New file.
7664 * config/tilepro/tilepro-multiply.h: New file.
7665 * config/tilepro/tilepro-protos.h: New file.
7666 * config/tilepro/tilepro.c: New file.
7667 * config/tilepro/tilepro.h: New file.
7668 * config/tilepro/tilepro.md: New file.
7669 * config/tilepro/tilepro.opt: New file.
7670
7daac345
JJ
76712012-02-14 Jakub Jelinek <jakub@redhat.com>
7672
7673 PR tree-optimization/52210
7674 * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
7675 vect_model_simple_cost with two entry vect_def_type array instead
7676 of an address of dt.
7677
837487be
RG
76782012-02-14 Richard Guenther <rguenther@suse.de>
7679
7680 PR lto/52178
7681 * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
7682 Do not stream DECL_QUALIFIER.
7683 * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
7684 * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
7685 (find_decls_types_r): Do not walk DECL_QUALIFIER.
7686
45f41865
JJ
76872012-02-14 Jakub Jelinek <jakub@redhat.com>
7688
7689 PR c/52181
7690 * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
7691 newdecl.
7692
9a76e83d
JJ
76932012-02-13 Jakub Jelinek <jakub@redhat.com>
7694
7695 PR bootstrap/52172
7696 * cselib.h (cselib_subst_to_values_from_insn): New prototype.
7697 * cselib.c (cselib_subst_to_values_from_insn): New function.
7698 * sched-deps.c (add_insn_mem_dependence,
7699 sched_analyze_1, sched_analyze_2): Use it.
7700
993716bd
JH
77012012-02-13 Jan Hubicka <jh@suse.cz>
7702
7703 PR middle-end/52214
7704 * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
7705
255a9a1b
EB
77062012-02-13 Eric Botcazou <ebotcazou@adacore.com>
7707
7708 * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
7709 (GTM_SELF_SPECS): Define if not already defined.
7710 (driver_self_specs): Add GTM_SELF_SPECS.
9517e333
UB
7711 * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
7712 (GTM_SELF_SPECS): Define.
255a9a1b
EB
7713 * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
7714 * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
7715
9abd5ed9
JJ
77162012-02-13 Jakub Jelinek <jakub@redhat.com>
7717
67b977ad
JJ
7718 * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
7719 away if seen.
7720
9517e333 7721 * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
42286976 7722
9abd5ed9 7723 PR middle-end/52230
9517e333
UB
7724 * omp-low.c (expand_omp_for): If a static schedule without chunk size
7725 has NULL region->cont, force fd.chunk_size to be integer_zero_node.
9abd5ed9 7726
8ca1b342
AM
77272012-02-13 Andrew MacLeod <amacleod@redhat.com>
7728
7729 PR c/52190
7730 * doc/extend.texi : Fix another __atomic_compare_exchange typo.
7731
1eb3478f
RG
77322012-02-13 Richard Guenther <rguenther@suse.de>
7733
7734 PR translation/52211
7735 * passes.c (enable_disable_pass): Fix typo.
7736
205ec405
JJ
77372012-02-13 Jakub Jelinek <jakub@redhat.com>
7738
7739 PR middle-end/52209
7740 * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
7741 XOR for reduce_bit_field if type is unsigned.
7742
31d7b439
EB
77432012-02-12 Eric Botcazou <ebotcazou@adacore.com>
7744
7745 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
7746 disallow changes from SFmode to mode with different size in FP regs.
7747
77482012-02-12 Robert Millan <rmh@gnu.org>
9517e333 7749 Gerald Pfeifer <gerald@pfeifer.com>
56c534c5
RM
7750
7751 * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
7752 Tweak comment.
7753
4cb0fdbc
RS
77542012-02-11 Richard Sandiford <rdsandiford@googlemail.com>
7755
7756 PR rtl-optimization/52175
7757 * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
7758 to frame-related instructions.
7759
4e92c31f
JM
77602012-02-10 Jason Merrill <jason@redhat.com>
7761
7762 PR c++/51910
7763 * tlink.c (demangled_hash_entry): Change mangled to a VEC.
7764 (demangle_new_symbols): Fill it.
7765 (scan_linker_output): Walk it.
7766 (start_tweaking): Split out from scan_linker_output.
7767 (maybe_tweak): Update sym->chosen.
7768 * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
7769
bd0ba05d
JJ
77702012-02-11 Jakub Jelinek <jakub@redhat.com>
7771
7772 PR debug/52132
9517e333 7773 * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
bd0ba05d 7774
28f7ff45
UB
77752012-02-11 Uros Bizjak <ubizjak@gmail.com>
7776
7777 * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
7778 having the same mode as previous compare.
7779
8c92f3e8
EB
77802012-02-10 Eric Botcazou <ebotcazou@adacore.com>
7781
7782 * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
7783 * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
7784 (nonlocal_goto_internal): Likewise.
7785 (nonlocal_goto): Emit a use and an indirect jump directly.
7786
9ac1504b
AM
77872012-02-10 Andrew MacLeod <amacleod@redhat.com>
7788
7789 PR c/52190
7790 * doc/extend.texi : Update comments for __atomic_compare_exchange and
7791 __atomic_{is,always}_lock_free.
7792
877fb450
L
77932012-02-10 Uros Bizjak <ubizjak@gmail.com>
7794
7795 PR target/52146
7796 * config/i386/i386.c (ix86_legitimate_address_p): Disallow
1ce8d925 7797 negative constant address for TARGET_X32.
877fb450 7798
1d4fb493
RH
77992012-02-10 Richard Henderson <rth@redhat.com>
7800
28f7ff45
UB
7801 * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
7802 * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
7803 for GIMPLE_TRANSACTION. Tidy if's into a switch.
1d4fb493 7804
8bd37302
BS
78052012-02-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7806 Ira Rosen <irar@il.ibm.com>
7807
7808 PR tree-optimization/50031
7809 * targhooks.c (default_builtin_vectorization_cost): Handle
7810 vec_promote_demote.
7811 * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
7812 * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
7813 all types of reduction and pattern statements.
7814 (vect_estimate_min_profitable_iters): Likewise.
7815 * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
7816 (vect_get_load_cost): Use vec_perm for permutations; add dump logic
7817 for explicit realigns.
7818 (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
7819 * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
7820 vec_promote_demote.
7821 * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
7822 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
7823 vec_perm for VSX and handle vec_promote_demote.
7824
58d38fd2
JJ
78252012-02-10 Jakub Jelinek <jakub@redhat.com>
7826
7827 PR middle-end/52177
7828 * builtins.c (fold_builtin_atomic_always_lock_free,
7829 expand_builtin_atomic_always_lock_free,
28f7ff45
UB
7830 fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
7831 Return and/or test boolean_true_node/boolean_false_node instead of
58d38fd2
JJ
7832 integer_one_node/integer_zero_node.
7833
0f3b7e9a
JH
78342012-02-10 Jan Hubicka <jh@suse.cz>
7835
7836 PR middle-end/48600
7837 * predict.c (predict_paths_for_bb): Prevent looping.
7838 (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
7839
76c9058b
RZ
78402012-02-10 Roman Zhuykov <zhroma@ispras.ru>
7841
7842 * config/arm/arm.c (output_move_double): In one case properly
7843 count number of instructions that will be emitted.
7844
7cbf224d
RG
78452012-02-10 Richard Guenther <rguenther@suse.de>
7846
7847 PR translation/52193
7848 * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
7849
16e0be9b
PB
78502012-02-09 Peter Bergner <bergner@vnet.ibm.com>
7851
7852 PR middle-end/52140
7853 * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
7854
65cca5de
JJ
78552012-02-09 Jakub Jelinek <jakub@redhat.com>
7856
7857 PR debug/52165
7858 * var-tracking.c (emit_note_insn_var_location): If
7859 EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
7860 emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
7861 non-NOTE_DURING_CALL_P insn.
7862
15ed19ff
BC
78632012-02-09 Bin Cheng <bin.cheng@arm.com>
7864
7865 PR middle-end/51867
7866 * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
7867
5371f719
MG
78682012-02-08 Magnus Granberg <zorry@gentoo.org>
7869
7870 PR driver/48524
28f7ff45
UB
7871 * gcc.c (switch_matches) Support switches with separated form,
7872 -D and -U.
5371f719 7873
82b37806
GJL
78742012-02-08 Georg-Johann Lay <avr@gjlay.de>
7875
7876 * config/avr/avr.md (SREG_ADDR): Remove constant definition.
7877 (SP_ADDR): Ditto.
7878 (RAMPZ_ADDR): Ditto.
7879 * config/avr/avr.c (avr_addr_t): New typedef.
7880 (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
7881 (avr_init_expanders): Initialize it.
7882 (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
7883 SREG_ADDR.
7884 (expand_epilogue): Ditto.
7885 (avr_print_operand): Ditto.
7886 (avr_file_start): Ditto.
7887 (avr_emit_movmemhi): Ditto.
7888
31432e21
RG
78892012-02-08 Richard Guenther <rguenther@suse.de>
7890
7891 PR tree-optimization/46886
7892 * tree-flow.h (do_while_loop_p): Declare.
7893 * tree-ssa-loop-ch.c (do_while_loop_p): Export.
28f7ff45 7894 * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
31432e21 7895
c51ec0a3
AM
78962012-02-08 Andrew MacLeod <amacleod@redhat.com>
7897
7898 * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
7899 always succeed for integers larger than a native word.
7900
ea72cc1d
RG
79012012-02-08 Richard Guenther <rguenther@suse.de>
7902
7903 PR rtl-optimization/52170
7904 * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
7905 properly handle integer vector modes.
7906
bd73623c
JJ
79072012-02-08 Jakub Jelinek <jakub@redhat.com>
7908
9e66e106
JJ
7909 PR gcov-profile/52150
7910 * coverage.c: Include target.h.
7911 (build_var): Call targetm.strip_name_encoding on the assembler name.
7912 Change one _ into . or $ if the target allows it.
7913 * Makefile.in (coverage.o): Depend on $(TARGET_H).
7914
bd73623c
JJ
7915 PR rtl-optimization/52139
7916 * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
7917 is a BARRIER after emit_insn_after_noloc, move BB_END
7918 to the last non-BARRIER insn before it.
7919
4566de10
RS
79202012-02-07 Richard Sandiford <rdsandiford@googlemail.com>
7921
7922 PR middle-end/24306
7923 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
7924 (mips_gimplify_va_arg_expr): Call it instead of
7925 std_gimplify_va_arg_expr.
7926
7cb5ce1a
MM
79272012-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
7928
7929 * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
7930 message for -mno-pointers-to-nested-function.
7931
f22cfd73
EB
79322012-02-07 Eric Botcazou <ebotcazou@adacore.com>
7933
7934 PR middle-end/51994
7935 * expr.c (get_inner_reference): If there is an offset, add a negative
7936 bit position to it (if any).
7937
13a72c0b
JJ
79382012-02-07 Jakub Jelinek <jakub@redhat.com>
7939
7940 PR rtl-optimization/52060
7941 * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
7942 copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
7943 before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
7944 and/or i0src_copy2 when needed.
7945
deb3f362
JJ
79462012-02-07 Jakub Jelinek <jakub@redhat.com>
7947
117cb2bc
JJ
7948 * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
7949 or LTOPLUGINSONAME if have_c.
7950
deb3f362
JJ
7951 * config/freebsd-spec.h: Add comment about what macros can be defined
7952 in this header.
7953 (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
7954 * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
7955 here instead.
7956
b1edf2bc
RG
79572012-02-07 Richard Guenther <rguenther@suse.de>
7958
7959 * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
7960 newline in -alias dumps.
7961
26cfb9ab 79622012-02-07 Kai Tietz <ktietz@redhat.com>
28f7ff45 7963 Dave Korn <dave.korn.cygwin@gmail.com>
26cfb9ab
KT
7964
7965 PR target/40068
7966 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
7967 Take care that typinfo gets dllexport-attribute.
7968
b1b95093
JJ
79692012-02-07 Jakub Jelinek <jakub@redhat.com>
7970
7971 PR middle-end/52074
7972 * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
7973 if modifier < EXPAND_SUM call force_operand on the result.
7974
60098013
JR
79752012-02-07 Joern Rennecke <joern.rennecke@embecosm.com>
7976
7977 * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
7978 adding __forwarder_dst__ prefix if a forwarder_section attribute is
7979 present.
7980 (epiphany_function_type): Replace types for specific interrupts with
7981 EPIPHANY_FUNCTION_INTERRUPT.
7982 (EPIPHANY_INTERRUPT_P): Update.
7983 * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
7984 New static function.
7985 (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
7986 <disinterrupt>: Affects type identity.
7987 (epiphany_handle_interrupt_attribute): Handle variable number of
7988 arguments.
7989 (epiphany_compute_function_type): Update for new
7990 epiphany_function_type definition.
7991 (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
7992 handlers with a longcall forwarder.
7993 (epiphany_start_function): Handle multiple interrupt arguments and/or
7994 forwarder_section attribute.
7995
28f7ff45
UB
7996 * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
7997 libgloss.
be648db7 7998
30f0eb2d
AM
79992012-02-07 Alan Modra <amodra@gmail.com>
8000
8001 PR target/52107
8002 * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
8003 subregs of TFmode.
8004
c5f14d62
BS
80052012-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8006
8007 PR tree-optimization/50969
8008 * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
8009 use vec_perm rather than vector_stmt.
8010 (vect_model_load_cost): Likewise.
8011 * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
8012 vec_perm to be the same as other vector statements.
8013 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
8014 cost of vec_perm for TARGET_VSX.
8015
973a39ae
RG
80162012-02-06 Richard Guenther <rguenther@suse.de>
8017
8018 PR tree-optimization/52115
8019 * tree-sra.c (access_has_replacements_p): New function.
8020 (sra_modify_assign): Use it to decide whether a use is uninitialized.
8021
fe924d9f
PM
80222012-02-06 Patrick Marlier <patrick.marlier@gmail.com>
8023
8024 PR middle-end/52047
8025 * trans-mem.c (expand_call_tm): Add an assertion.
8026 * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
8027 functions.
8028
1d30a09a
RG
80292012-02-06 Richard Guenther <rguenther@suse.de>
8030
8031 PR tree-optimization/50955
8032 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
8033 raise cost of expressions that replace an address with an
8034 expression based on a different pointer.
8035
2c8b5d61
JJ
80362012-02-06 Jakub Jelinek <jakub@redhat.com>
8037
8038 PR target/52129
8039 * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
8040 CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
8041
9039ea91
JW
80422012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
8043
8044 PR c++/48680
8045 * doc/invoke.texi (C++ Dialect Options): Use @option markup for
8046 -Weffc++ and specify guidelines come from second edition.
8047
7ca9ea76
RS
80482012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
8049
8050 * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
8051 (sibcall_value_multiple_internal, call_split, call_internal_direct)
8052 (call_direct_split, call_value_split, call_value_internal_direct)
8053 (call_value_direct_split, call_value_multiple_split): Use jal and
8054 jal_macro attributes.
8055
7bd8c53f
RS
80562012-02-05 Richard Sandiford <rdsandiford@googlemail.com>
8057
8058 * reload1.c (reload_regs_reach_end_p): Replace with...
8059 (reload_reg_rtx_reaches_end_p): ...this function.
8060 (new_spill_reg_store): Update commentary.
8061 (emit_input_reload_insns): Don't clear new_spill_reg_store here.
8062 (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
8063 before setting new_spill_reg_store.
8064 (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
8065 Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
8066 Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
8067 for non-spill reload registers.
8068
24ee1384
IR
80692012-02-05 Ira Rosen <irar@il.ibm.com>
8070
8071 PR tree-optimization/52091
8072 * tree-vectorizer.h (vect_is_simple_use): Add an argument.
8073 (vect_is_simple_use_1): Likewise.
8074 * tree-vect-loop.c (vectorizable_reduction): Update calls
8075 to vect_is_simple_use_1 and vect_is_simple_use.
8076 (vectorizable_live_operation): Likewise.
8077 * tree-vect-patterns.c (widened_name_p,
28f7ff45 8078 vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
24ee1384 8079 * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
28f7ff45
UB
8080 vectorizable_call, vectorizable_conversion, vectorizable_assignment,
8081 vectorizable_shift,vectorizable_operation, vectorizable_store,
8082 vectorizable_load): Likewise.
24ee1384
IR
8083 (vect_is_simple_cond): Add an argument, pass it to
8084 vect_is_simple_use_1.
8085 (vectorizable_condition): Update calls to vect_is_simple_cond,
8086 vect_is_simple_use.
8087 (vect_is_simple_use): Add an argument, the statement in which
8088 OPERAND is used. Check that if OPERAND's def stmt is a double
8089 reduction phi node, the use is a phi node too.
8090 (vect_is_simple_use_1): Add an argument, pass it to
8091 vect_is_simple_use.
8092 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
8093 to vect_is_simple_use.
8094
d5785e76
JJ
80952012-02-04 Jakub Jelinek <jakub@redhat.com>
8096
22439481
JJ
8097 PR rtl-optimization/52095
8098 * modulo-sched.c (dump_insn_locator): New function.
8099 (loop_canon_p, sms_schedule): Use it.
8100
d5785e76
JJ
8101 PR rtl-optimization/52113
8102 * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
8103 even for decomposable shift/zext insns.
8104
32410d02
JJ
81052012-02-03 Jakub Jelinek <jakub@redhat.com>
8106 Zdenek Dvorak <ook@ucw.cz>
8107
8108 PR rtl-optimization/52092
8109 * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
8110 on get_iv_value result.
8111
75471253
AP
81122012-02-02 Andrew Pinski <apinski@cavium.com>
8113
8114 PR middle-end/47982
8115 PR middle-end/43967
8116 * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
8117
1f01c3ec
JJ
81182012-02-02 Jakub Jelinek <jakub@redhat.com>
8119
8120 PR middle-end/48071
8121 * diagnostic.c (diagnostic_finish): Remove trailing newlines.
8122
662f8070
VM
81232012-02-02 Vladimir Makarov <vmakarov@redhat.com>
8124
8125 PR rtl-optimization/49800
8126 * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
8127 (sched_finish): Call regstat_free_n_sets_and_refs.
8128
14bc59cb
RS
81292012-02-02 Jia Liu <proljc@gmail.com>
8130
8131 * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
8132 than operand 2.
8133
9517e333
UB
81342012-02-02 Jan Hubicka <jh@suse.cz>
8135 Tom de Vries <tom@codesourcery.com>
5ee770bf
JH
8136
8137 PR middle-end/51998
8138 * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
8139 * varpool.c (varpool_analyze_pending_decls): Likewise.
8140
b25364a0
S
81412012-02-02 Sumanth G <sumanth.gundapaneni@kpitcummins.com>
8142 Jayant R Sonar <jayant.sonar@kpitcummins.com>
8143
8144 * config.gcc: Add cr16-* support.
8145
8146 * doc/extend.texi: Document cr16 extensions.
8147 * doc/install.texi: Document cr16 install.
8148 * doc/invoke.texi: Document cr16 options.
8149 * doc/md.texi: Document cr16 constraints.
8150
8151 * common/config/cr16/cr16-common.c: New file.
8152 * config/cr16/cr16.c: New file.
8153 * config/cr16/cr16.h: New file.
8154 * config/cr16/cr16.md: New file.
8155 * config/cr16/cr16.opt: New file.
8156 * config/cr16/cr16-protos.h: New file.
8157 * config/cr16/predicates.md: New file.
8158 * config/cr16/constraints.md: New file.
8159 * config/cr16/t-cr16: New file.
8160
13c931c9
JJ
81612012-02-02 Jakub Jelinek <jakub@redhat.com>
8162
903e49f5
JJ
8163 PR target/52086
8164 * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
8165 that operands[2] is either immediate, or q_regs_operand.
8166
13c931c9
JJ
8167 PR tree-optimization/52073
8168 * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
8169 a pattern stmt for pattern uses, ignore uses outside of the loop.
8170
c2453253
GJL
81712012-02-01 Georg-Johann Lay <avr@gjlay.de>
8172
8173 * config/avr/avr.c: Resolve all AS1 and AS2 macros.
8174 * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
8175 (OUT_AS1, OUT_AS2): Remove.
8176
07ad5438
GJL
81772012-02-01 Georg-Johann Lay <avr@gjlay.de>
8178
8179 PR rtl-optimization/51374
8180 * combine.c (can_combine_p): Don't allow volatile_refs_p insns
8181 to cross other volatile_refs_p insns.
8182
99ea07f8
RG
81832012-02-01 Richard Guenther <rguenther@suse.de>
8184
8185 * doc/invoke.texi (fno-inline): Clarify documentation.
8186 (finline-small-functions): Likewise.
8187 (finline-functions): Likewise.
8188 * common.opt (finline): Adjust comment and documentation.
8189 (finline-small-functions): Clarify documentation.
8190 (finline-functions): Likewise.
8191 (finline-functions-called-once): Likewise.
8192
3db684fb
TG
81932012-02-01 Tristan Gingold <gingold@adacore.com>
8194
8195 * c-typeck.c (composite_type): Keep mode for pointers.
8196
35aebd56
RS
81972012-01-31 Richard Sandiford <rdsandiford@googlemail.com>
8198
8199 * function.h (regno_reg_rtx): Adjust comment.
8200 * reginfo.c (init_reg_modes_target): Only use the previous mode
8201 if it fits within one register. Remove MIPS comment.
8202
8bb1a172
JJ
82032012-01-31 Jakub Jelinek <jakub@redhat.com>
8204
8205 PR bootstrap/52058
8206 * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
8207
01496eca
AK
82082012-01-31 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8209
8210 * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
8211 to srak instruction.
8212
a2be33be
MGD
82132012-01-31 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
8214
28f7ff45 8215 * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
a2be33be 8216
dd887943
JJ
82172012-01-31 Jakub Jelinek <jakub@redhat.com>
8218
8219 PR bootstrap/52041
8220 PR bootstrap/52039
8221 PR target/51974
8222 * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
8223
63d7ceaa
RG
82242012-01-31 Richard Guenther <rguenther@suse.de>
8225
8226 PR tree-optimization/51528
8227 * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
8228 assigns.
8229
68c8a824
JJ
82302012-01-31 Jakub Jelinek <jakub@redhat.com>
8231
8232 PR bootstrap/52041
8233 PR bootstrap/52039
8234 PR target/51974
8235 * ree.c (add_removable_extension): Change def_map argument
8236 to unsigned *, store in def_map 1 + offset into *insn_list vector
8237 instead of pointers into the vector.
8238 (find_removable_extensions): Adjust caller.
8239
a7fd5c6b
GJL
82402012-01-30 Georg-Johann Lay <avr@gjlay.de>
8241
8242 * config/avr/avr.md: Resolve all AS1 and AS2 macros.
8243 Transform all "* quoted-c-code" to { c-code }.
8244 Remove redundant test for "optimize" in combine patterns.
8245 Move (include "avr-dimode.md") to end of file.
8246
ab07692c
BC
82472012-01-30 Bin Cheng <bin.cheng@arm.com>
8248
8249 PR target/51835
8250 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
8251 for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
8252
e799d447
RG
82532012-01-30 Richard Guenther <rguenther@suse.de>
8254
8255 PR tree-optimization/52028
8256 * tree-loop-distribution.c (ldist_gen): Properly update
8257 virtual SSA form.
8258
dd44dcb0
JJ
82592012-01-30 Jakub Jelinek <jakub@redhat.com>
8260
2026d51a
JJ
8261 PR debug/52027
8262 * dwarf2out.c (dwarf2out_switch_text_section): Don't call
8263 set_cur_line_info_table if not emitting debug info.
8264
2f326699
JJ
8265 PR tree-optimization/52046
8266 * tree-vect-patterns.c (check_bool_pattern): Give up if
8267 a comparison could throw.
8268
dd44dcb0
JJ
8269 PR debug/52048
8270 * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
8271
ab448cfa
RG
82722012-01-30 Richard Guenther <rguenther@suse.de>
8273
8274 PR tree-optimization/52045
8275 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
8276 SSA form if cfgcleanup did anything.
8277
f8698b37
RG
82782012-01-30 Richard Guenther <rguenther@suse.de>
8279
8280 PR tree-optimization/52045
8281 * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
8282 before computing final todo.
8283
fdad69c1
RG
82842012-01-30 Richard Guenther <rguenther@suse.de>
8285
8286 PR tree-optimization/51528
8287 * tree-sra.c (sra_modify_assign): Re-factor in preparation
8288 for PR51528 fix.
8289
8203ac49
PB
82902012-01-30 Paolo Bonzini <bonzini@gnu.org>
8291
8292 * df-problems.c (df_kill_notes): Check that the use refers
8293 to the note under examination.
8294
98e4350f
EB
82952012-01-30 Eric Botcazou <ebotcazou@adacore.com>
8296
8297 PR target/51920
8298 * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
8299 parameter and use short-lived pseudos.
8300 (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
8301 (sparc_expand_vector_init): Const-ify local variables and adjust
8302 calls to above functions.
8303
733ccf09
GJL
83042012-01-30 Georg-Johann Lay <avr@gjlay.de>
8305
8306 * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
8307
1d7b264e
SL
83082012-01-29 Sandra Loosemore <sandra@codesourcery.com>
8309
8310 * doc/invoke.texi: Make usage of "compile time" and
8311 "run time"/"runtime" consistent throughout the file.
8312
1e86df8d
UB
83132012-01-29 Uros Bizjak <ubizjak@gmail.com>
8314
28f7ff45 8315 * config/alpha/alpha.c (alpha_option_override): Default to
1e86df8d
UB
8316 full IEEE compliance mode for Go language.
8317
fc4c0b43
TC
83182011-01-29 Tijl Coosemans <tijl@coosemans.org>
8319
8320 * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
8321 (LINK_SSP_SPEC): Define.
8322
df8b5535
JDA
83232012-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8324
8325 PR target/51871
8326 * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
8327 stubs.
8328
6b6985ba
SL
83292012-01-28 Sandra Loosemore <sandra@codesourcery.com>
8330
8331 * doc/invoke.texi: Correct hyphenation of "floating point",
8332 "double precision", and related terminology throughout the file.
8333
8ea2d689
JJ
83342012-01-28 Jakub Jelinek <jakub@redhat.com>
8335
8336 PR target/52006
8337 * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
8338 arm_general_register_operand predicate for operand 2 instead of
8339 register_operand.
8340
183dd130
ILT
83412012-01-27 Ian Lance Taylor <iant@google.com>
8342
8343 PR go/47656
8344 * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
8345 * builtins.c (expand_builtin_init_trampoline): Add onstack
8346 parameter. Change caller.
8347 (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
8348 * tree.c (build_common_builtin_nodes): Declare
8349 __builtin_init_heap_trampoline.
8350
38ee0815
GJL
83512012-01-27 Georg-Johann Lay <avr@gjlay.de>
8352
8353 * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
8354 tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
8355 * config/avr/avr.c: Ditto.
8356 (avr_regnames): Remove because unused.
8357 * config/avr/avr.md (*cpse.ne): New peephole.
8358 (*cpse.eq): New peephole from former cpse peepholes.
8359
b6c71f77
ME
83602012-01-27 Michael Eager <eager@eagercon.com>
8361
8362 * config/microblaze.c (microblaze_emit_compare): Correct
8363 test after pcmp instruction.
8364
13604927
RG
83652012-01-27 Richard Guenther <rguenther@suse.de>
8366
8367 PR tree-optimization/52020
8368 * tree-sra.c (sra_modify_assign): Do not transform clobbers.
8369
ace018f9
RG
83702012-01-27 Richard Guenther <rguenther@suse.de>
8371
8372 * ipa-pure-const.c (check_stmt): Clobbers do not make a
8373 function non-const/pure.
8374
aff86594
RG
83752012-01-27 Richard Guenther <rguenther@suse.de>
8376
8377 PR tree-optimization/50444
8378 * tree-sra.c (build_ref_for_offset): Properly adjust the
8379 MEM_REF type for unaligned accesses.
8380
22345357
RG
83812012-01-27 Richard Guenther <rguenther@suse.de>
8382
8383 PR tree-optimization/50444
8384 * expr.c (mem_ref_refers_to_non_mem_p): New function.
8385 (expand_assignment): Use it. Properly handle misaligned
8386 bases when expanding stores to component references.
8387 (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
8388 refactor that case.
8389
3881dee9
AB
83902012-01-27 Andrey Belevantsev <abel@ispras.ru>
8391
8392 PR middle-end/51389
8393 * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
8394 * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
8395 * tree-data-ref.c (find_data_references_in_loop): Make static.
8396 (compute_all_dependences): Change return type to bool. Bail out
8397 for too many datarefs in a loop. Move the hunk resetting the data
8398 dependences vector from ...
8399 (compute_data_dependences_for_loop): ... here. Account for
8400 compute_all_dependences returning false.
8401 (compute_data_dependences_for_bb): Likewise.
8402 * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
8403 * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
8404
45c83429
RG
84052012-01-27 Richard Guenther <rguenther@suse.de>
8406
8407 PR middle-end/51959
8408 * expr.c (store_field): Use the alias-set of the scratch memory
8409 for storing to it.
8410
842679dc
TV
84112012-01-27 Tom de Vries <tom@codesourcery.com>
8412
8413 PR tree-optimization/51990
1e86df8d
UB
8414 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
8415 WITH_SIZE_EXPR.
842679dc
TV
8416 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
8417
ae25db45
JJ
84182012-01-27 Jakub Jelinek <jakub@redhat.com>
8419
8420 PR debug/52001
8421 * var-tracking.c (reverse_op): Don't add any reverse operation
8422 if V already has any constant locations.
8423
cb485fff
SL
84242012-01-27 Sandra Loosemore <sandra@codesourcery.com>
8425
8426 * doc/invoke.texi: Correct usage of "command line" (noun)
8427 vs "command-line" (adjective) throughout.
8428
e3bd34b8
SL
84292012-01-27 Sandra Loosemore <sandra@codesourcery.com>
8430
8431 * doc/invoke.texi (Language Independent Options): Move
8432 -Wcoverage-mismatch blurb from here....
8433 (Warning Options): ...to here.
8434
b7c0a0d4
PB
84352012-01-27 Peter Bergner <bergner@vnet.ibm.com>
8436
8437 * config/rs6000/rs6000.c (rs6000_option_override_internal):
8438 Set rs6000_always_hint to false for 476.
8439
2fda54bd
MK
84402012-01-27 Matthias Klose <doko@ubuntu.com>
8441
8442 * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
8443 system root.
8444 * incpath.c (add_standard_paths): Likewise.
8445
4c1fd084
RH
84462012-01-27 Richard Henderson <rth@redhat.com>
8447
8448 * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
8449 * config/m68k/sync.md (atomic_test_and_set): Rename from
8450 sync_test_and_setqi and adjust the operands.
8451 (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
8452 and unconditionally enable.
8453
5a843a13
RH
84542012-01-27 Richard Henderson <rth@redhat.com>
8455
8456 * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
8457 * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
8458 (ldstub): Rename from ldstubqi.
8459 (ldstub<I24MODE>): Remove.
8460
57c5ab1b
RH
84612012-01-27 Richard Henderson <rth@redhat.com>
8462
8463 * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
8464 * c-cppbuiltin.c (cpp_atomic_builtins): Define
8465 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
8466 * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
8467 * doc/tm.texi: Rebuild.
8468
15e73e06
RH
84692012-01-27 Richard Henderson <rth@redhat.com>
8470
8471 * optabs.c (gen_atomic_test_and_set): Remove default.
8472 (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
8473
089dacc5
JJ
84742012-01-26 Jakub Jelinek <jakub@redhat.com>
8475
8476 PR rtl-optimization/51978
1e86df8d 8477 * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
089dacc5
JJ
8478 (combine_reaching_defs): Likewise.
8479 (struct re_info): Remove.
8480 (add_removable_extension): Remove x and data arguments,
8481 add insn, insn_list and def_map. Use the arguments directly
8482 instead of using struct re_info.
8483 (find_removable_extensions): Don't call add_removable_extension
8484 through note_stores, instead just call it with single_set
8485 result if non-NULL.
8486 (find_and_remove_re): Pass curr_cand->expr instead of
1e86df8d 8487 PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
089dacc5 8488
81bfd197
MM
84892012-01-26 Michael Matz <matz@suse.de>
8490
8491 PR tree-optimization/46590
8492 * cfgexpand.c: Revert last change (r183305).
8493 * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
8494 regs.
8495 * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
8496 checking for emptiness.
8497
892123df
JJ
84982012-01-26 Jakub Jelinek <jakub@redhat.com>
8499
8500 PR middle-end/51895
8501 * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
8502 non-addressable non-BLKmode base correctly.
8503
1a47f99c
MM
85042012-01-26 Michael Matz <matz@suse.de>
8505
8506 PR tree-optimization/48794
8507 * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
8508 regions referenced from RESX/EH_DISPATCH.
8509
3d427cc1
AK
85102012-01-26 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8511
8512 * config/s390/s390.h: Make BRANCH_COST an option.
8513 * config/s390/s390.opt: New option -mbranch-cost.
8514
3be18e47
RH
85152012-01-26 Richard Henderson <rth@redhat.com>
8516
8517 Revert 2012-01-24 change:
8518 * trans-mem.c (requires_barrier): Do not instrument thread local
8519 variables and emit save/restore for them.
8520
21ae439c
JJ
85212012-01-25 Jakub Jelinek <jakub@redhat.com>
8522
8523 PR middle-end/51986
8524 * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
8525 for pat == 0.
8526
e906c889
RS
85272012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
8528
55d4e75e
RS
8529 * config/mips/mips.c (mips_small_data_pattern_1): Don't process
8530 ASM_OPERANDS.
e906c889 8531
3a840863
GJL
85322012-01-25 Georg-Johann Lay <avr@gjlay.de>
8533
8534 PR target/49868
8535 Rename __pgm to __flash.
8536 Rename __pgm1 to __flash1.
8537 Rename __pgm2 to __flash2.
8538 Rename __pgm3 to __flash3.
8539 Rename __pgm4 to __flash4.
8540 Rename __pgm5 to __flash5.
8541 Rename __pgmx to __memx.
8542 * doc/extend.texi (AVR Named Address Spaces)
8543 Rename address space names as indicated above.
8544 * config/avr/avr.c (avr_addrspace): Ditto.
8545
8546 * config/avr/avr-protos.h
8547 (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
8548 (avr_mem_pgm_p): Rename to avr_mem_flash_p.
8549 * config/avr/predicates.md: Ditto.
8550 * config/avr/avr.c Ditto, and
8551 (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
8552 (avr_decl_pgm_p): Rename to avr_decl_flash_p.
8553
8554 * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
8555 (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
8556 (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
8557 (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
8558 (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
8559 (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
8560 (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
8561 * config/avr/avr.c: Ditto.
8562 * config/avr/avr.md: Ditto.
8563
b3310d49
JM
85642012-01-25 Jason Merrill <jason@redhat.com>
8565
8566 PR c++/51992
8567 * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
8568
06e1d03d
JJ
85692012-01-25 Jakub Jelinek <jakub@redhat.com>
8570
8571 PR tree-optimization/51987
8572 * tree-data-ref.c (get_references_in_stmt): Handle references in
8573 non-volatile GIMPLE_ASM.
8574
8bf43909
RG
85752012-01-25 Richard Guenther <rguenther@suse.de>
8576
8577 * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
8578 bases are dereferenced.
8579
3dbdd1b9
AB
85802012-01-25 Andrey Belevantsev <abel@ispras.ru>
8581
8582 PR rtl-optimization/48374
1e86df8d 8583 * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
3dbdd1b9 8584
9ca3d00e
AB
85852012-01-25 Andrey Belevantsev <abel@ispras.ru>
8586
8587 * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
8588 compute_data_dependences_for_loop returns false.
8589 * tree-parloops.c (loop_parallel_p): Likewise.
8590
87c0fb4b
RG
85912012-01-25 Richard Guenther <rguenther@suse.de>
8592
8593 * tree.h (get_pointer_alignment_1): Declare.
8594 * builtins.c (get_pointer_alignment_1): New function.
8595 (get_pointer_alignment): Use it.
8596
2630025d
RR
85972012-01-25 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8598
8599 PR rtl-optimization/48308
8600 * combine.c (enum undo_kind): Add UNDO_LINKS.
8601 (struct undo): Add member l to other_contents and where.
8602 (do_SUBST_LINK): New.
8603 (SUBST_LINK): New.
8604 (try_combine): Handle LOG_LINKS for the dummy i1 case.
8605 (undo_all): Handle UNDO_LINKS.
8606
42cf0609
RH
86072012-01-25 Richard Henderson <rth@redhat.com>
8608
8609 * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
8610 mem inputs.
8611
1efaf134
RS
86122012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
8613
8614 * optabs.c (gen_atomic_test_and_set): Use each argument.
8615
63b9d91a
RS
86162012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
8617
8618 * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
8619 (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
8620 (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
8621 (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
8622 (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
8623 TARGET_PAIRED_SINGLE_FLOAT.
8624
55356334
RS
86252012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
8626
8627 * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
8628 (in_struct, return_val): Remove MEM documentation.
8629 * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
8630 (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
8631 (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
8632 and MEM_SCALAR.
8633 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
8634 * cfgexpand.c (add_alias_set_conflicts): Likewise.
8635 * expr.c (store_field): Likewise.
8636 * function.c (assign_stack_temp_for_type): Likewise.
8637 * ifcvt.c (noce_try_cmove_arith): Likewise.
8638 * reload1.c (reload): Likewise.
8639 * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
8640 (alpha_set_memflags): Likewise.
8641 * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
8642
53d9622b
RS
86432012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
8644
8645 * rtl.h (true_dependence, canon_true_dependence): Remove varies
8646 parameter.
8647 * alias.c (fixed_scalar_and_varying_struct_p): Delete.
8648 (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
8649 (true_dependence_1, true_dependence, canon_true_dependence): Remove
8650 varies parameter.
8651 * cselib.c (cselib_rtx_varies_p): Delete.
8652 (cselib_invalidate_mem): Update call to canon_true_dependence.
8653 * dse.c (record_store, check_mem_read_rtx): Likewise.
8654 (scan_reads_nospill): Likewise.
8655 * cse.c (check_dependence): Likewise.
8656 (cse_rtx_varies_p): Delete.
8657 * expr.c (safe_from_p): Update call to true_dependence.
8658 * ira.c (validate_equiv_mem_from_store): Likewise.
8659 (memref_referenced_p): Likewise.
8660 * postreload-gcse.c (find_mem_conflicts): Likewise.
8661 * sched-deps.c (sched_analyze_2): Likewise.
8662 * store-motion.c (load_kills_store): Likewise.
8663 * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
8664 * gcse.c (mems_conflict_for_gcse_p): Likewise.
8665 (compute_transp): Update call to canon_true_dependence.
8666
f8a27aa6
RH
86672012-01-25 Richard Henderson <rth@redhat.com>
8668
8669 * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
8670 (maybe_emit_atomic_test_and_set): New.
8671 (expand_sync_lock_test_and_set): Use it.
8672 (expand_atomic_test_and_set): Likewise.
8673 * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
8674 the implementation; clarify implementation defined details.
8675 * doc/md.texi (atomic_test_and_set): Document.
8676
f1d4a790
RH
86772012-01-25 Richard Henderson <rth@redhat.com>
8678
8679 * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
8680
ed6cf318
RH
86812012-01-25 Richard Henderson <rth@redhat.com>
8682
8683 PR target/51968
8684 * config/arm/arm.c (neon_split_vcombine): Emit deleted note
8685 to effect no-op split.
8686
dda6ecae
AH
86872012-01-24 Aldy Hernandez <aldyh@redhat.com>
8688
8689 PR lto/51698
8690 * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
8691 (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
8692 (BT_FN_VOID_PTR_INT_SIZE): New.
8693 (BT_FN_UINT_UINT_VAR): Remove.
8694 (BT_FN_UINT32_UINT32_VAR): New.
8695 (BT_FN_DOUBLE_VPTR): Remove.
8696 (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
8697
1e86df8d 8698 * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
dda6ecae
AH
8699 (_ITM_changeTransactionMode): Same.
8700 (_ITM_memmoveRtWt): Change return type to void.
8701 (_ITM_memcpyRtWt): Same.
8702 (_ITM_memsetW): Same.
8703 (_ITM_RaRD): Change types to double.
8704 (_ITM_RD): Same.
8705 (_ITM_RaWD): Same.
8706 (_ITM_RfWD): Same.
8707
8708 * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
8709
1aa5d1c7
AH
87102012-01-24 Aldy Hernandez <aldyh@redhat.com>
8711 Patrick Marlier <patrick.marlier@gmail.com>
8712
8713 * trans-mem.c (requires_barrier): Do not instrument thread local
8714 variables and emit save/restore for them.
8715
c5c90089
JM
87162012-01-24 Jason Merrill <jason@redhat.com>
8717
8718 PR c++/51812
8719 * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
8720 output static aliases.
8721
5460e1fc
JJ
87222012-01-24 Jakub Jelinek <jakub@redhat.com>
8723
8724 PR driver/47249
8725 * common.opt (-pie, -shared, pie, shared): Change from Common to
8726 Driver.
8727 * gcc.c (display_help): Display help for -pie and -shared.
8728
aa9ec4db
GJL
87292012-01-24 Georg-Johann Lay <avr@gjlay.de>
8730
8731 PR target/49868
8732 * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
8733 Remove note on size/offset limitation.
8734 (AVR Variable Attributes): Add example how to read data located
8735 with progmem. Refer to named address spaces.
8736 * doc/invoke.texi (AVR Options): Fix typo.
8737
a9d3ac1e
RG
87382012-01-24 Richard Guenther <rguenther@suse.de>
8739
8740 Forward-port to trunk
8741 2010-09-21 Jakub Jelinek <jakub@redhat.com>
8742
8743 PR middle-end/45678
8744 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
8745 op0 isn't sufficiently aligned and there is movmisalignM
8746 insn for mode, use it to load op0 into a temporary register.
8747
93bcc8c9
JJ
87482012-01-24 Jakub Jelinek <jakub@redhat.com>
8749
8750 PR target/51957
8751 * target.def (const_not_ok_for_debug_p): New hook.
8752 * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
8753 documentation.
8754 * doc/tm.texi: Regenerated.
8755 * dwarf2out.c (const_ok_for_output_1): If
8756 targetm.const_not_ok_for_debug_p returns true, fail.
8757 * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
8758 function.
8759 (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
8760
986ce92f
KT
87612012-01-23 Kai Tietz <ktietz@redhat.com>
8762
8763 PR target/51900
8764 * config/i386/predicates.md (symbolic_operand): Allow
8765 UNSPEC_PCREL as PIC expression for lea.
8766 * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
8767 * config/i386/i386.c (ix86_delegitimize_address): Handle
8768 UNSPEC_PCREL for none-MEM, too.
8769
e617b554
AH
87702012-01-23 Aldy Hernandez <aldyh@redhat.com>
8771
8772 * trans-mem.c (ipa_tm_create_version): Set externally_visible.
8773 (ipa_tm_create_version_alias): Same.
8774
1e86df8d 87752012-01-23 Uros Bizjak <ubizjak@gmail.com>
5752c591
UB
8776
8777 PR libitm/51830
8778 * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
8779 * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
8780
f2ede0ee
AH
87812012-01-23 Aldy Hernandez <aldyh@redhat.com>
8782 Patrick Marlier <patrick.marlier@gmail.com>
8783 Iain Sandoe <developer@sandoe-acoustics.co.uk>
8784
8785 PR lto/51916
8786 * lto-wrapper.c (run_gcc): Pass the LTO section name to
8787 simple_object_start_read.
8788
191879f9
RG
87892012-01-23 Richard Guenther <rguenther@suse.de>
8790
f2ede0ee 8791
191879f9
RG
8792 PR tree-optimization/51895
8793 * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
8794 parameter decomposition into BLKmode components.
8795
b31799f4
EB
87962012-01-23 Eric Botcazou <ebotcazou@adacore.com>
8797
8798 * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
8799 fake variables for restrict-qualified pointers whose pointed-to type
8800 contains a placeholder.
8801
b2d2adc6
RG
88022012-01-23 Richard Guenther <rguenther@suse.de>
8803
8804 PR tree-optimization/51949
5752c591 8805 * ipa-split.c (execute_split_functions): Do not split malloc functions.
b2d2adc6 8806
b57cca0b
JJ
88072012-01-23 Jakub Jelinek <jakub@redhat.com>
8808
8809 PR rtl-optimization/51933
8810 * ree.c (transform_ifelse): Return true right away if dstreg is
8811 already wider or equal to cand->mode.
8812 (enum ext_modified_kind, struct ext_modified, ext_state): New types.
8813 (make_defs_and_copies_lists): Remove defs_list and copies_list
8814 arguments, add state argument, just truncate state->work_list
8815 instead of always allocating and freeing the vector. Assert that
5752c591 8816 get_defs succeeds instead of returning 2. Changed return type to bool.
b57cca0b
JJ
8817 (merge_def_and_ext): Add state argument. If SET_DEST doesn't
8818 have ext_src_mode, see if it has been modified already with the
8819 right kind of extension and has been extended before from the
8820 ext_src_mode. If SET_DEST is already wider or equal to cand->mode,
5752c591 8821 just return true. Remember the original mode in state->modified array.
b57cca0b
JJ
8822 (combine_reaching_defs): Add state argument. Don't allocate and
8823 free here def_list, copied_list and vec vectors, instead just
5752c591 8824 VEC_truncate the vectors in *state. Don't handle outcome == 2 here.
b57cca0b
JJ
8825 (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
8826 Add state variable, clear vectors in it, initialize state.modified
8827 if needed. Free all the vectors at the end and state.modified too.
8828 Don't skip a candidate if the extension expression has been modified.
8829
daecebc8
DR
88302012-01-22 Douglas B Rupp <rupp@gnat.com>
8831
8832 PR target/47096
8833 * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
8834 configurations. Change triplet to i[34567]86-*-interix[3-9]*.
8835 (extra_options) interix.opt -> i386/interix.opt"
8836 (extra_objs):Add winnt-stubs.o
8837 * configure.ac: Add interix to target_os .comm on PE check.
8838 * configure: Regenerate.
8839 * config/interix3.h: Delete and move bits to..
8840 * config/interix.h: Delete and move bits to..
8841 * config/i386/i386-interix3.h: Delete and move bits to..
8842 * config/i386/i386-interix.h: ..here.
8843 (TARGET_CPU_DEFAULT): Remove redefinition.
8844 (TARGET_ASM_CONSTRUCTOR): Undefine.
8845 (SUBTARGET_SWITCHES): Define for ms-bitfields.
8846 (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
8847 (PTRDIFF_TYPE): Define.
8848 (LONG_DOUBLE_TYPE_SIZE): Define.
8849 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
8850 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8851 (TARGET_SECTION_TYPE_FLAGS): Define.
8852 (ASM_DECLARE_FUNCTION_NAME): Define.
8853 (ASM_OUTPUT_EXTERNAL): Define.
8854 (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8855 (ASM_OUTPUT_ALIGNED_BSS): Define.
8856 (PCC_BITFIELD_TYPE_MATTERS): Define.
8857 (USE_CONST_SECTION): Define.
8858 (SUBTARGET_ENCODE_SECTION_INFO): Remove.
8859 (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
8860 (SUPPORTS_ONE_ONLY): Remove.
8861 (I386_PE_STRIP_ENCODING): Define.
8862 * config/interix.opt: Delete and move bits to..
8863 * config/i386/interix.opt: ..here. New.
8864 (mpe-aligned-commons): Add.
8865 * config/i386/t-interix: Add copyright header.
8866 (winnt-stubs.o): Add rule.
8867
bbe04f21
JM
88682012-01-22 Jason Merrill <jason@redhat.com>
8869
8870 PR c++/51832
8871 * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
8872 for extra name aliases.
8873
ca10595c
EB
88742012-01-22 Eric Botcazou <ebotcazou@adacore.com>
8875
8876 PR rtl-optimization/51924
8877 * ree.c (combine_set_extension): Improve debugging message.
8878 (combine_reaching_defs): Likewise.
8879 (get_defs): Rename confusingly named variable.
8880 (find_and_remove_re): Skip a candidate if the extension expression has
8881 been modified.
8882
4787ac51
RM
88832012-01-21 Robert Millan <rmh@gnu.org>
8884 Gerald Pfeifer <gerald@pfeifer.com>
8885
8886 * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
8887 (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
8888
82294ec1
JJ
88892012-01-20 Jakub Jelinek <jakub@redhat.com>
8890
8891 PR tree-optimization/51914
8892 * tree-vect-stmts.c (vectorizable_conversion): For
8893 cvt_type && modifier == WIDEN, put temporary with cvt_type
8894 at the beginning of vec_dsts and set vec_dest to temporary
8895 with vectype_out.
8896
68cc3174
EB
88972012-01-20 Eric Botcazou <ebotcazou@adacore.com>
8898
8899 * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
8900
cdee0298
TC
89012011-01-20 Tijl Coosemans <tijl@coosemans.org>
8902
8903 * config/i386/i386.c: Fix checks for !TARGET_MACHO.
8904 * config/rs6000/rs6000.c: Likewise.
8905
4c2708c5
JJ
89062012-01-20 Jakub Jelinek <jakub@redhat.com>
8907
8908 PR target/51915
8909 * config/arm/arm.c (arm_count_output_move_double_insns): Call
8910 output_move_double on a copy of operands array.
8911
5752c591
UB
89122012-01-20 Cary Coutant <ccoutant@google.com>
8913 Dodji Seketeli <dodji@redhat.com>
2d663cb9
CC
8914
8915 PR debug/45682
8916 * dwarf2out.c (copy_declaration_context): Return ref to parent
8917 of declaration DIE, if necessary.
8918 (remove_child_or_replace_with_skeleton): Add new parameter; update
8919 caller. Place skeleton DIE under parent DIE of original declaration.
8920 Move call to copy_declaration_context to here ...
8921 (break_out_comdat_types): ... from here.
8922
afa73d3a
AK
89232012-01-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8924
8925 PR rtl-optimization/51856
8926 * reload.c (find_reloads_subreg_address): Set the address_reloaded
8927 flag to reloaded.
8928
3675f54b
RR
89292012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8930
8931 PR target/51819
8932 * config/arm/arm.c (arm_print_operand): Correct output of alignment
8933 hints for neon loads and stores.
8934
542bf446
GJL
89352012-01-20 Georg-Johann Lay <avr@gjlay.de>
8936
8937 PR target/49868
8938 PR target/50887
8939 * doc/extend.texi (Named Address Spaces): Split into subsections.
8940 (AVR Named Address Spaces): New subsection.
8941 (M32C Named Address Spaces): New subsection.
8942 (RL78 Named Address Spaces): New subsection.
8943 (SPU Named Address Spaces): New subsection.
8944 (Variable Attributes): New anchor "AVR Variable Attributes".
8945 (AVR Variable Attributes): Rewrite and avoid wording
8946 "address space" in this context.
8947 * doc/invoke.texi (AVR Options): Rewrite and add documentation
8948 for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
8949 (AVR Built-in Macros): New subsubsection therein.
8950 * doc/md.texi (AVR constraints): Remove "C04", "R".
8951
a88b3135
RG
89522012-01-20 Richard Guenther <rguenther@suse.de>
8953
8954 PR tree-optimization/51903
8955 * tree-ssa-pre.c (eliminate): Properly purging of EH edges
8956 when removing stmts.
8957
f06129ea
RR
89582012-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
8959
8960 PR target/50313
8961 * config/arm/arm.c (arm_load_pic_register): Use
8962 gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
8963 , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
8964 (arm_pic_static_addr): Likewise.
8965 (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
8966 (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
8967 * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
8968 (pic_load_addr_unified): New.
8969
229bfbcf
AB
89702012-01-20 Andrey Belevantsev <abel@ispras.ru>
8971
8972 PR target/51106
8973 * function.c (instantiate_virtual_regs_in_insn): Use
8974 delete_insn_and_edges when removing a wrong asm insn.
8975
2608d841
VM
89762012-01-19 Vladimir Makarov <vmakarov@redhat.com>
8977
8978 PR rtl-optimization/40761
5752c591
UB
8979 * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
8980 Add new member loop_num.
2608d841
VM
8981 (IRA_LOOP_NODE_BY_INDEX): Modify the check.
8982 (ira_build): Remove the parameter.
8983
5752c591 8984 * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
2608d841
VM
8985 (ira.c): Do not build CFG loops for one region allocation. Remove
8986 argument from ira_build call.
8987
8988 * ira-build.c (init_loop_tree_node): New function.
8989 (create_loop_tree_nodes): Use it. Separate the case when CFG
8990 loops are not built.
8991 (more_one_region_p): Check current_loops.
8992 (finish_loop_tree_nodes): Separate the case when CFG loops are not
8993 built.
8994 (add_loop_to_tree): Process loop equal to NULL too.
8995 (form_loop_tree): Separate the case when CFG loops are not built.
8996 Use explicitly number for the root.
8997 (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
8998 an assertion.
8999 (ira_print_expanded_allocno, loop_compare_func): Use loop_num
9000 instead of loop->num.
5752c591 9001 (mark_loops_for_removal): Ditto. Use loop_num instead of loop->num.
2608d841
VM
9002 (mark_all_loops_for_removal): Ditto.
9003 (remove_unnecessary_regions): Separate the case when CFG loops
9004 are not built.
9005 (ira_build): Remove the parameter. Use explicit number of regions
9006 when CFG loops are not built.
9007
5752c591
UB
9008 * ira-color.c (print_loop_title): Separate the case for the root node.
9009 Use loop_num instead of loop->num.
2608d841
VM
9010 (move_spill_restore): Use loop_num instead of loop->num.
9011
9012 * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
9013 (change_loop): Ditto.
9014 (change_loop): Use loop_num instead of loop->num.
9015
9016 * ira-lives.c (process_bb_node_lives): Ditto.
9017
5752c591 9018 * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
2608d841
VM
9019
9020 * ira-conflicts.c (print_allocno_conflicts): Ditto.
9021
dc2c7a52
JJ
90222012-01-19 Jakub Jelinek <jakub@redhat.com>
9023
58b3ebf2
JJ
9024 PR libmudflap/40778
9025 * tree-mudflap.c (mf_artificial): New function.
9026 (execute_mudflap_function_ops, execute_mudflap_function_decls,
9027 mx_register_decls, mudflap_enqueue_decl): Use it.
9028
dc2c7a52
JJ
9029 PR target/51876
9030 * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
9031 numbers in the insn pattern.
9032
d5038d06
MM
90332012-01-19 Michael Matz <matz@suse.de>
9034
9035 PR tree-optimization/46590
9036 * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
9037 use it in remembering which conflicts we already created.
9038 (add_scope_conflicts): Adjust call to above, (de)allocate helper
9039 bitmap.
9040
aad038ca
AH
90412012-01-19 Aldy Hernandez <aldyh@redhat.com>
9042
9043 PR lto/51280
9044 * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
9045 (merge_and_complain): Same.
9046
e9c9f128
JJ
90472012-01-19 Jakub Jelinek <jakub@redhat.com>
9048
9049 PR bootstrap/50237
9050 * config/initfini-array.h: Guard content of the header
9051 with #ifdef HAVE_INITFINI_ARRAY.
9052 * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
9053 Add initfini-array.h to tm_file here.
5752c591 9054 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
e9c9f128
JJ
9055 * config.gcc: Don't add initfini-array.h to tm_file here.
9056 * configure: Regenerated.
9057
90582012-01-19 Andrey Belevantsev <abel@ispras.ru>
f90aa714
AB
9059
9060 PR rtl-optimization/51505
9061 * df-problems.c (df_kill_notes): New parameter live. Update comment.
9062 Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
5752c591 9063 (df_note_bb_compute): Update the call to df_kill_notes.
f90aa714 9064
63c0efdb
AH
90652012-01-18 Aldy Hernandez <aldyh@redhat.com>
9066
9067 * trans-mem.c (requires_barrier): Remove call to is_global_var.
9068
b8cf611d
RG
90692012-01-18 Richard Guenther <rguenther@suse.de>
9070
9071 * tree-ssa.c (useless_type_conversion_p): Remove special-casing
9072 of conversions to void *.
9073
3bdb97b8
AK
90742012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9075 Richard Sandiford <rdsandiford@googlemail.com>
9076
9077 PR middle-end/50325
9078 PR middle-end/51192
9079 * optabs.h (simplify_expand_binop): Declare.
9080 * optabs.c (simplify_expand_binop): Make global.
9081 * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
9082 endian targets if the source cannot be exactly covered by word
9083 mode chunks.
9084
ee3d2ecd
JJ
90852012-01-17 Jakub Jelinek <jakub@redhat.com>
9086
9087 PR bootstrap/51872
9088 * hard-reg-set.h (struct hard_reg_set_container): New type.
9089 * target.h (struct hard_reg_set_container): Forward declare.
9090 * target.def (set_up_by_prologue): New target hook.
9091 * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
9092 * doc/tm.texi: Regenerated.
9093 * function.c (thread_prologue_and_epilogue_insns): Change
9094 set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
9095 Call targetm.set_up_by_prologue on it.
9096 * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
9097 (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
9098
be61ce52
NC
90992012-01-17 Nick Clifton <nickc@redhat.com>
9100
9101 * config/rx/rx.c (rx_can_use_simple_return): New function.
9102 * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
9103 * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
9104
e831c1e8
RG
91052012-01-17 Richard Guenther <rguenther@suse.de>
9106
9107 PR middle-end/51782
9108 * expr.c (expand_assignment): Take address-space information
9109 from the address operand of MEM_REF and TARGET_MEM_REF.
9110 (expand_expr_real_1): Likewise.
9111
67463efb
AK
91122012-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9113
9114 * ira.c (do_reload): Make sure ira_dump_file is re-set if no
9115 reload dump is requested.
9116
59cbe98e
AH
91172012-01-17 Aldy Hernandez <aldyh@redhat.com>
9118
9119 PR other/51165
9120 * trans-mem.c (requires_barrier): Call may_be_aliased.
9121
e6fa9204
JJ
91222012-01-17 Jakub Jelinek <jakub@redhat.com>
9123
9124 PR tree-optimization/51877
9125 * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
9126 call arguments and fndecls compare equal, instead return false if they
9127 don't. Return true only if lhs1 and lhs2 are either both NULL, or
9128 both SSA_NAMEs that are valueized the same, or they satisfy
9129 operand_equal_p.
9130
26923657
RO
91312012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9132
9133 * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
9134 Solaris 11+.
9135 * configure: Regenerate.
9136
c53153e7
JH
91372012-01-16 Jan Hubicka <jh@suse.cz>
9138
9139 PR c/12245
9140 PR c++/14179
9141 * convert.c (convert_to_integer): Use fold_convert for
9142 converting an INTEGER_CST to integer type.
9143
7aeb037b
JM
91442012-01-16 Jason Merrill <jason@redhat.com>
9145
9146 PR c++/14179
9147 * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
9148
90dda0e9
JJ
91492012-01-16 Jakub Jelinek <jakub@redhat.com>
9150
00fbd5c8
JJ
9151 PR bootstrap/51860
9152 * config/s390/s390.c (s390_chunkify_start): Don't skip
9153 call insns followed by NOTE_INSN_CALL_ARG_LOCATION note. Skip
9154 NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
9155 If insn is followed by NOTE_INSN_VAR_LOCATION or
9156 NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
9157 Don't use location of note insns.
9158
90dda0e9
JJ
9159 PR tree-optimization/51865
9160 * tree-inline.c (tree_function_versioning): Call remap_decl
9161 on DECL_RESULT whenever it has VOID_TYPE_P type.
9162
62835cee
RS
91632012-01-15 Richard Sandiford <rdsandiford@googlemail.com>
9164
9165 * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
9166 for calls to locally-binding MIPS16 functions if only the return
9167 type uses float regs.
9168
ddaf8125
RS
91692012-01-15 Chung-Lin Tang <cltang@codesourcery.com>
9170 Richard Sandiford <rdsandiford@googlemail.com>
9171
9172 * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
9173 (SYMBOL_32_HIGH): Likewise.
9174 (mips_output_tls_reloc_directive): Declare.
9175 * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
9176 (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
9177 * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
9178 (mips_lo_relocs, mips_hi_relocs): Make extern.
9179 (mips16_stub_function): Move up file.
9180 (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
9181 (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too.
9182 (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p.
5752c591
UB
9183 (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
9184 SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false.
ddaf8125
RS
9185 (mips_get_tp): Add MIPS16 support.
9186 (mips_legitimize_tls_address): Remove MIPS16 sorry().
9187 Generalize DTPREL and TPREL handling.
9188 (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
9189 Add MIPS16 TLS support.
9190 (mips_output_tls_reloc_directive): New function.
9191 (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
9192 * config/mips/predicates.md (symbolic_operand_with_high)
9193 (tls_reloc_operand): New predicates.
9194 (force_to_mem_operand): Use mips_use_pcrel_pool_p.
9195 * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
9196 (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
5752c591 9197 (*unshifted_high): New instruction. Use it for MIPS16 high splitter.
ddaf8125
RS
9198 (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
9199 (*tls_get_tp_mips16_call_<mode>): Likewise.
9200
bf63ef6c
UB
92012012-01-15 Uros Bizjak <ubizjak@gmail.com>
9202
9203 PR rtl-optimization/51821
9204 * recog.c (peep2_find_free_register): Determine clobbered registers
9205 from insn pattern.
9206
cfbaed3b
DC
92072012-01-14 Denis Chertykov <chertykov@gmail.com>
9208
9209 PR target/50925
9210 * config/avr/avr-protos.h: Revert change of 2012-01-09.
9211 * config/avr/avr.c: Likewise.
9212 * config/avr/avr.h: Likewise.
9213
12448f77
ILT
92142012-01-13 Ian Lance Taylor <iant@google.com>
9215
9216 PR c++/50012
9217 * tree.h (TYPE_QUALS): Add cast to int.
9218 (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
9219
9ab6f957
ILT
92202012-01-13 Ian Lance Taylor <iant@google.com>
9221
9222 * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
9223 comparing param_index to VEC_length result.
9224
8554df86
SB
92252012-01-13 Steven Bosscher <steven@gcc.gnu.org>
9226
9227 * c-decl.c: Do not include tree-mudflap.h
9228 * tree-optimize.c: Likewise.
9229 * Makefile.in: Update dependencies.
9230
aabb90e5
RG
92312012-01-13 Richard Guenther <rguenther@suse.de>
9232
9233 PR middle-end/8081
9234 * gimplify.c (gimplify_modify_expr_rhs): For calls with a
9235 variable-sized result always use RSO.
9236
639d4bb8
DD
92372012-01-12 DJ Delorie <dj@redhat.com>
9238
9239 * cfgexpand.c (convert_debug_memory_address): Allow any valid
9240 pointer type, not just the default pointer type.
9241
105b876e
RH
92422012-01-09 Richard Henderson <rth@redhat.com>
9243 Denis Chertykov <chertykov@gmail.com>
9244
9245 PR target/50925
9246 * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
9247 * config/avr/avr.c (avr_can_eliminate): Simplify.
9248 (avr_initial_elimination_offset): Likewise.
9249 (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
9250 (expand_epilogue): Likewise.
9251 (avr_legitimize_address): Gut.
9252 (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
9253 (avr_hard_regno_nregs): New.
9254 (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
9255 (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
9256 * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
9257 add soft frame pointer.
9258 (CALL_USED_REGISTERS): Likewise.
9259 (REG_CLASS_CONTENTS): Likewise.
9260 (REGISTER_NAMES): Likewise.
9261 (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
9262 (HARD_FRAME_POINTER_REGNUM): New.
9263 (FRAME_POINTER_REGNUM): Use soft frame pointer.
9264 (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
9265 remove the HARD_FRAME_POINTER self-elimination.
9266
458652d1 92672012-01-12 Georg-Johann Lay <avr@gjlay.de>
ab8c5093
GJL
9268
9269 PR target/51756
9270 * config/avr/avr.c (avr_encode_section_info): Test for absence of
9271 DECL_EXTERNAL when checking for initializers of progmem variables.
9272
82db3d43
IR
92732012-01-12 Ira Rosen <irar@il.ibm.com>
9274
9275 PR tree-optimization/51799
9276 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
9277 that the last operation is a type demotion.
9278
64668e68
UB
92792012-01-12 Uros Bizjak <ubizjak@gmail.com>
9280
9281 * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
9282 (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
9283
319638ed
JJ
92842012-01-11 Jakub Jelinek <jakub@redhat.com>
9285
9286 PR bootstrap/51796
9287 * combine.c (distribute_notes): If i3 is a noreturn call,
9288 allow old_size to be equal to args_size and make sure the
9289 noreturn call gets REG_ARGS_SIZE note.
9290 * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
9291 on noreturn calls even when the delta is 0.
9292
8f961b22
NS
92932012-01-11 Nathan Sidwell <nathan@acm.org>
9294
9295 * gcov.c (STRING_SIZE): Remove.
9296 (generate_results): Erase annotations for source files with no
9297 coverage information.
9298 (read_line): New.
9299 (output_lines): Use it.
9300
3ad065ef
EB
93012012-01-11 Eric Botcazou <ebotcazou@adacore.com>
9302
9303 * gimple.h (gimplify_body): Remove first argument.
9304 * gimplify.c (copy_if_shared): Add DATA argument. Do not create the
9305 pointer set here, instead just pass DATA to walk_tree.
9306 (unshare_body): Remove BODY_P argument and adjust. Create the pointer
9307 set here and invoke copy_if_shared on the size trees of DECL_RESULT.
9308 (unvisit_body): Likewise, but with unmark_visited.
9309 (gimplify_body): Remove BODY_P argument and adjust.
9310 (gimplify_function_tree): Adjust call to gimplify_body.
9311 * omp-low.c (finalize_task_copyfn): Likewise.
9312
1a2c27e9
EB
93132012-01-11 Eric Botcazou <ebotcazou@adacore.com>
9314
9315 * tree.h (build_function_decl_skip_args): Add boolean parameter.
9316 (build_function_type_skip_args): Delete.
9317 * tree.c (build_function_type_skip_args): Make static and add
9318 SKIP_RETURN parameter. Fix thinko in the handling of variants.
9319 (build_function_decl_skip_args): Add SKIP_RETURN parameter and
9320 pass it to build_function_type_skip_args.
9321 * cgraph.h (cgraph_function_versioning): Add boolean parameter.
9322 (tree_function_versioning): Likewise.
9323 * cgraph.c (cgraph_create_virtual_clone): Adjust call to
9324 build_function_decl_skip_args.
9325 * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
9326 and pass it to build_function_decl_skip_args/tree_function_versioning.
9327 (cgraph_materialize_clone): Adjust call to tree_function_versioning.
9328 * ipa-inline-transform.c (save_inline_function_body): Likewise.
9329 * trans-mem.c (ipa_tm_create_version): Likewise.
9330 * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
9331 * tree-inline.c (declare_return_variable): Remove always-true test.
9332 (tree_function_versioning): Add SKIP_RETURN parameter. If the function
9333 returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
9334 * ipa-split.c (split_function): Skip the return value for the split
9335 part if it doesn't return.
9336
b2e25729
BS
93372012-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9338
9339 PR tree-optimization/49642
9340 * ipa-split.c (forbidden_dominators): New variable.
9341 (check_forbidden_calls): New function.
9342 (dominated_by_forbidden): Likewise.
9343 (consider_split): Check for forbidden dominators.
9344 (execute_split_functions): Initialize and free forbidden
9345 dominators info; call check_forbidden_calls.
9346
9150e331
MGD
93472012-01-11 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
9348
9349 * config/arm/arm.md (mov_notscc): Use MVN for false condition.
9350
1c97289f
NC
93512012-01-11 Nick Clifton <nickc@redhat.com>
9352
9353 * config/rx/rx.md (return): Define pattern.
9354
65d5c485
RG
93552012-01-11 Richard Guenther <rguenther@suse.de>
9356
9357 * doc/extend.texi (malloc attribute): Adjust according to
9358 implementation.
9359
594ec92f
AH
93602012-01-10 Aldy Hernandez <aldyh@redhat.com>
9361 Patrick Marlier <patrick.marlier@gmail.com>
9362
9363 PR middle-end/51516
9364 * trans-mem.c (get_cg_data): Traverse aliases if requested.
9365 (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
9366 (ipa_tm_note_irrevocable): Same.
9367 (ipa_tm_scan_irr_block): Same.
9368 (ipa_tm_decrement_clone_counts): Same.
9369 (ipa_tm_scan_irr_function): Same.
9370 (ipa_tm_create_version_alias): Same.
9371 (ipa_tm_create_version): Same.
9372 (ipa_tm_transform_calls_redirect): Same.
9373 (ipa_tm_transform_calls): Same.
9374 (ipa_tm_transform_transaction): Same.
9375 (ipa_tm_execute): Same.
9376
aee15221
RG
93772012-01-10 Richard Guenther <rguenther@suse.de>
9378
9379 PR middle-end/51806
9380 * opts.c (common_handle_option): Handle -Werror.
9381
b339cf22
AS
93822012-01-10 Andreas Schwab <schwab@linux-m68k.org>
9383
9384 * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
9385 operand number.
9386
90aa444c
JM
93872012-01-10 Jason Merrill <jason@redhat.com>
9388
9389 * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
9390 information.
9391
0f24748c
RO
93922012-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9393
9394 * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
9395 supports R_386_TLS_GD_PLT reloc.
9396 (gcc_cv_as_ix86_tlsldmplt): Check if linker
9397 supports R_386_TLS_LDM_PLT reloc.
9398 * configure: Regenerate.
9399 * config.in: Regenerate.
9400
cba300dd
GJL
94012012-01-10 Georg-Johann Lay <avr@gjlay.de>
9402
9403 PR target/49868
9404 Extend __pgmx semantics to linearize memory.
9405 * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
9406 determine if code comes inline or from libgcc.
9407 (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
9408 (movmem_qi, movmem_qi): Set constraint #2 to "n".
9409 (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
9410 (movmemx_qi, movmemx_hi): New insns.
9411 (xload_<mode>_libgcc): Rewrite to new insn condition.
9412 (xload_<mode>): Remove insns.
9413 * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
9414 cases that don't satisfy avr_xload_libgcc_p().
9415 (avr_addr_space_convert): Allow converting in any direction.
9416 (avr_addr_space_subset_p): Return always true.
9417 (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
9418 (avr_emit_movmemhi): Ditto.
9419 (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
9420 (avr_out_movmem): Ditto.
9421 (AVR_SYMBOL_FLAG_PROGMEM): New macro.
9422 (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
9423 (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
9424 (avr_encode_section_info): Encode 'progmem' in symbol flags.
9425 (output_reload_in_const): Don't zero-extend any 24-bit symbols.
9426
390b24dc
RG
94272012-01-10 Richard Guenther <rguenther@suse.de>
9428
9429 PR tree-optimization/50913
9430 * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
9431 Require data-refs to be representable by Graphite with respect
9432 to any loop nest.
9433
f148a434
UB
94342012-01-10 Uros Bizjak <ubizjak@gmail.com>
9435
9436 * config/i386/constraints.md ("L"): Return true for 0xffffffff.
9437 * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
9438
5d1f1cd5
TV
94392012-01-10 Tom de Vries <tom@codesourcery.com>
9440
6fcebe79 9441 PR rtl-optimization/51271
5d1f1cd5
TV
9442 * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
9443 handling annulled branch.
9444
b440f324
RH
94452012-01-10 Richard Henderson <rth@redhat.com>
9446
f148a434 9447 * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
b440f324
RH
9448 TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
9449 struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
9450 arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
9451 arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
9452 arm_expand_vec_perm_const): New.
9453 * config/arm/arm-protos.h: Update.
9454 * config/arm/neon.md (UNSPEC_VCONCAT): New.
9455 (*neon_vswp<VDQX>): New.
9456 (neon_vcombine<VDX>): Use neon_split_vcombine.
9457 (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
9458 * config/arm/vec-common.md (vec_perm_const<VALL>): New.
9459 (vec_perm<VE>): New.
9460
18f0fe6b
RH
94612012-01-10 Richard Henderson <rth@redhat.com>
9462
9463 * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
9464 use it if reload_completed.
9465 (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
9466 arm_output_asm_insn, arm_process_output_memory_barrier,
9467 arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
9468 arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
9469 arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
9470 arm_process_output_sync_insn, arm_output_sync_insn,
9471 arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
9472 (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
9473 (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
9474 (emit_unlikely_jump): New.
9475 (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
9476 (arm_split_atomic_op): New.
9477 * config/arm/arm-protos.h: Update.
9478 * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
9479 (struct arm_sync_generator): Remove.
9480 * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
9481 VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
9482 (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
9483 (VUNSPEC_LL, VUNSPEC_SC): New.
9484 (sync_result, sync_memory, sync_required_value, sync_new_value,
9485 sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
9486 (attr length): Don't use arm_sync_loop_insns.
9487 (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
9488 (movsfcc, movdfcc): Likewise.
9489 * config/arm/constraints.md (Ua): New.
9490 * config/arm/prediates.md (mem_noofs_operand): New.
9491 (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
9492 (sync_clobber, sync_t2_reqd): Remove.
9493 (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
9494 (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
9495 (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
9496 (arm_sync_compare_and_swap<SIDI>): Remove.
9497 (arm_sync_compare_and_swap<NARROW>): Remove.
9498 (arm_sync_lock_test_and_set<SIDI>): Remove.
9499 (arm_sync_lock_test_and_set<NARROW>): Remove.
9500 (arm_sync_new_<syncop><SIDI>): Remove.
9501 (arm_sync_new_<syncop><NARROW>): Remove.
9502 (arm_sync_new_nand<SIDI>): Remove.
9503 (arm_sync_new_nand<NARROW>): Remove.
9504 (arm_sync_old_<syncop><SIDI>): Remove.
9505 (arm_sync_old_<syncop><NARROW>): Remove.
9506 (arm_sync_old_nand<SIDI>): Remove.
9507 (arm_sync_old_nand<NARROW>): Remove.
9508 (*memory_barrier): Merge arm_output_memory_barrier.
9509 (atomic_compare_and_swap<QHSD>): New.
9510 (atomic_compare_and_swap<NARROW>_1): New.
9511 (atomic_compare_and_swap<SIDI>_1): New.
9512 (atomic_exchange<QHSD>): New.
9513 (cas_cmp_operand, cas_cmp_str): New.
9514 (atomic_op_operand, atomic_op_str): New.
9515 (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
9516 (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
9517 (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
9518 (arm_load_exclusive<NARROW>): New.
9519 (arm_load_exclusivesi, arm_load_exclusivedi): New.
9520 (arm_store_exclusive<QHSD>): New.
9521
95222012-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
df5a9a7c
MM
9523
9524 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
9525 reload patterns if -mvsx-scalar-memory.
9526
9527 * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
9528 generated, even -mno-vsx-scalar-double was used.
9529 (vsx_xscvdpsp_scalar): Likewise.
9530 (vsx_xscvspdp_scalar2): Likewise.
9531
243b92d1
TV
95322012-01-09 Tom de Vries <tom@codesourcery.com>
9533 Andrew Pinski <apinski@cavium.com>
9534
6fcebe79 9535 PR debug/51471
f148a434
UB
9536 * reorg.c (fill_slots_from_thread): Don't speculate
9537 frame-related insns.
243b92d1 9538
ef2be249
RS
95392012-01-09 Richard Sandiford <rdsandiford@googlemail.com>
9540
9541 * sched-int.h (bb_note): Move to...
9542 * basic-block.h: ...here.
9543 * haifa-sched.c (bb_note): Move to...
9544 * cfgrtl.c: ...here.
9545 * function.c (next_block_for_reg): New function.
9546 (move_insn_for_shrink_wrap): Likewise.
9547 (prepare_shrink_wrap): Rewrite to use the above.
9548
345ae177
AH
95492012-01-09 Aldy Hernandez <aldyh@redhat.com>
9550
9551 * gimple.c (is_gimple_non_addressable): Remove.
9552 * gimple.h: Remove is_gimple_non_addressable.
9553 * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
9554 is_gimple_non_addressable.
9555 * trans-mem.c (expand_assign_tm): Same.
9556
06468229
RG
95572012-01-09 Richard Guenther <rguenther@suse.de>
9558
9559 PR tree-optimization/51775
9560 * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
9561 * tree-ssa-pre.c (eliminate): Properly fixup EH info.
9562
12aa62e9
MGD
95632012-01-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
9564
9565 * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
9566 tuning parameters.
9567 * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
9568
fdff9f3d
RB
95692012-01-09 Richard Guenther <rguenther@suse.de>
9570
9571 * tree-streamer-out.c (write_ts_optimization): Fix spelling.
9572
d028561e
JH
95732012-01-08 Jan Hubicka <jh@suse.cz>
9574
9575 PR tree-optimize/51680
fdff9f3d
RB
9576 * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
9577 on when known_vals needs to be computed; cleanup.
d028561e 9578
4c8836c6
JH
95792012-01-08 Jan Hubicka <jh@suse.cz>
9580
9581 PR tree-optimize/51694
9582 * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
9583
e478624f
JW
95842012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
9585
9586 * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
9587 for -std=c++98 and -std=c++11 too.
9588
b78384e0
CLT
95892012-01-08 Chung-Lin Tang <cltang@codesourcery.com>
9590
9591 * cfgloop.c (cancel_loop): Add free() of bbs array.
9592
f45b2a8a
JH
95932012-01-07 Jan Hubicka <jh@suse.cz>
9594
9595 PR tree-optimization/51600
9596 * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
9597 that benefits small functions.
9598
95992012-01-07 Jan Hubicka <jh@suse.cz>
9600
9601 * ipa-inline.c (want_inline_small_function_p): Fix formating.
9602
db22a743
JH
96032012-01-07 Jan Hubicka <jh@suse.cz>
9604
9605 PR tree-optimization/51680
9606 * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
9607 whose inlining reduce unit size.
9608
faead9f7
AO
96092012-01-07 Alexandre Oliva <aoliva@redhat.com>
9610
9611 PR bootstrap/51725
9612 * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
9613 Add canonical node to containing_mem chain after the non-canonical
9614 one, even if there weren't any locs to propagate.
9615 (remove_useless_values): Keep only canonical values.
9616 (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
9617 (cselib_invalidate_mem): Likewise. Ensure v is canonical, and
9618 canonicalize mem_chain elements that are not discarded.
9619
b71d7f85
JJ
96202012-01-06 Jakub Jelinek <jakub@redhat.com>
9621
0850f694
JJ
9622 PR target/47333
9623 * cgraphunit.c (cgraph_optimize): Call output_weakrefs
9624 before emitting functions.
9625
b71d7f85
JJ
9626 PR gcov-profile/50127
9627 * bb-reorder.c (partition_hot_cold_basic_blocks): Call
9628 clear_aux_for_blocks.
9629
7483eef8
AO
96302012-01-06 Alexandre Oliva <aoliva@redhat.com>
9631
9632 PR debug/51746
9633 * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
9634
86d71fca
AC
96352012-01-06 Arnaud Charlet <charlet@adacore.com>
9636
9637 * c-decl.c (ext_block): Moved up.
9638 (collect_all_refs, for_each_global_decl): Take ext_block into account.
9639
17719d09
HS
96402012-01-06 Han Shen <shenhan@google.com>
9641
9642 Translate built-in include paths for sysroot.
9643 * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
9644 (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
9645
9646 * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
9647 GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
9648
9649 * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
9650 control whether sysroot should be prepended to gxx include dir.
9651
9652 * configure: Regenerate.
9653
b0c99997
TR
96542012-01-06 Torvald Riegel <triegel@redhat.com>
9655
9656 PR rtl-optimization/51771
f148a434 9657 * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
b0c99997
TR
9658 * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
9659
c3e686a3
EB
96602012-01-05 Eric Botcazou <ebotcazou@adacore.com>
9661
9662 PR tree-optimization/51315
9663 * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
9664 (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
9665
2d130b31
UB
96662012-01-05 Uros Bizjak <ubizjak@gmail.com>
9667
9668 PR target/51681
9669 * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
9670 for shrp pattern. Correctly handle and fixup shift variable.
9671 Return false when shift > nelt for BYTES_BIG_ENDIAN target.
9672
f8f75b16
JJ
96732012-01-05 Jakub Jelinek <jakub@redhat.com>
9674
9675 PR debug/51762
9676 * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
9677 note when !ACCUMULATE_OUTGOING_ARGS.
9678
629c2cca
EB
96792012-01-05 Eric Botcazou <ebotcazou@adacore.com>
9680
9681 * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
9682 condition.
9683 (extract_range_from_unary_expr_1): Avoid useless computations.
9684
1e69d24e
JJ
96852012-01-05 Jakub Jelinek <jakub@redhat.com>
9686
a3e6a37b
JJ
9687 PR rtl-optimization/51767
9688 * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
9689 of jump_block and add an extra edge for degenerated asm gotos.
9690
36363ebb
JJ
9691 PR middle-end/51768
9692 * stmt.c (check_unique_operand_names): Don't ICE during error
9693 reporting if i is from labels chain.
9694
1e69d24e
JJ
9695 PR middle-end/44777
9696 * profile.c (branch_prob): Split bbs that have exit edge
9697 and need a fake entry edge too.
9698
56494762
JH
96992012-01-05 Jan Hubicka <jh@suse.cz>
9700
9701 PR middle-end/49710
9702 * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
9703 unlooping loops.
9704
10d12a3e
RG
97052012-01-05 Richard Guenther <rguenther@suse.de>
9706
9707 PR lto/50490
9708 * tree-streamer-out.c (write_ts_optimization): New function.
9709 (streamer_write_tree_body): Call it.
9710 * tree-streamer-in.c (lto_input_ts_optimization): New function.
9711 (streamer_read_tree_body): Call it.
9712 * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
9713
32be32af
JJ
97142012-01-05 Jakub Jelinek <jakub@redhat.com>
9715
9716 PR middle-end/51761
2d130b31 9717 * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
32be32af
JJ
9718 * gimplify.c (gimplify_cleanup_point_expr): Save and set
9719 in_cleanup_point_expr before gimplify_stmt call and restore it
9720 afterwards.
9721 (gimplify_target_expr): Don't add {CLOBBER} cleanup if
9722 in_cleanup_point_expr is false.
9723
5720c0dc
RG
97242012-01-05 Richard Guenther <rguenther@suse.de>
9725
9726 PR middle-end/51764
9727 * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
9728 to c.opt.
9729 * toplev.c (process_options): Reject combining mudflap and LTO.
9730 * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
9731
6ad024b4
RG
97322012-01-05 Richard Guenther <rguenther@suse.de>
9733
9734 PR tree-optimization/51760
9735 * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
9736 not VARYING.
9737 (bit_value_unop): Handle UNDEFINED operands.
9738 (bit_value_binop): Likewise.
9739
543a341c
GJL
97402012-01-05 Georg-Johann Lay <avr@gjlay.de>
9741
9742 * config/avr/avr.c (avr_replace_prefix): Remove.
9743 (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
9744 (avr_asm_function_rodata_section): Ditto.
9745 (avr_asm_select_section): Ditto.
9746
6bfd2688
MS
97472012-01-05 Marcus Shawcroft <marcus.shawcroft@arm.com>
9748
9749 * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
9750 insertion.
9751
cbd65133
JJ
97522012-01-05 Jakub Jelinek <jakub@redhat.com>
9753
bfeb0869
JJ
9754 PR bootstrap/51648
9755 * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
9756 calls that have any non-fake successor edges.
9757
cbd65133
JJ
9758 PR debug/51746
9759 * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
9760
8594273a
EB
97612012-01-04 Eric Botcazou <ebotcazou@adacore.com>
9762
9763 PR tree-optimization/51624
9764 * tree-sra.c (build_ref_for_model): When replicating a chain of
9765 COMPONENT_REFs, stop as soon as the offset would become negative.
9766
5dc28f42
JJ
97672012-01-04 Jakub Jelinek <jakub@redhat.com>
9768
9769 PR debug/51695
9770 * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
9771 in .debug_loc on the floor.
9772
03a9ba1e
AP
97732012-01-04 Andrew Pinski <apinski@cavium.com>
9774
9775 * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
9776
770da00a
AP
97772012-01-04 Andrew Pinski <apinski@cavium.com>
9778 Adam Nemet <anemet@caviumnetworks.com>
9779
9780 * config/mips/mips.md (size): Add SI and DI.
9781 (SIZE): New mode attribute.
9782 (U): New code attribute.
9783 * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
9784 (mips_lbux_<mode>): Delete.
9785 (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
9786 (mips_lhx): Use gen_mips_lhx_extsi.
9787 (mips_lhx_<mode>): Delete.
9788 (mips_lwx): Delete.
9789 (mips_l<size>x): New expand.
9790 (mips_lwx_<mode>): Delete.
9791 (mips_l<GPR:size>x_<P:mode>): New pattern.
9792 (*mips_lw<u>x_<P:mode>_ext): Likewise.
9793 * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
9794 * config/mips/mips.c (mips_lx_address_p): New function.
9795 (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
9796 (dsp64): New availability predicate.
9797 (mips_builtins): Add an entry for __builtin_mips_ldx.
9798 * config/mips/mips.h (ISA_HAS_LBX): New define.
9799 (ISA_HAS_LBUX): Likewise.
9800 (ISA_HAS_LHX): Likewise.
9801 (ISA_HAS_LHUX): Likewise.
9802 (ISA_HAS_LWX): Likewise.
9803 (ISA_HAS_LWUX): Likewise.
9804 (ISA_HAS_LDX): Likewise.
9805 * doc/extend.texi (__builtin_mips_ldx): Document.
9806
e2b30a44
TG
98072012-01-04 Tristan Gingold <gingold@adacore.com>
9808
9809 * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
9810 when long pointers are used.
9811 * config.build (*-*-*vms*): Handle all OpenVMS targets.
9812 (alpha64-dec-*vms*, alpha*-dec-*vms*)
9813 (ia64-hp-*vms*): Remove.
9814 * config/vms/xm-vms64.h: Delete.
9815
713b8dfb
AH
98162012-01-04 Aldy Hernandez <aldyh@redhat.com>
9817
9818 PR middle-end/51472
9819 * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
9820
7ba65723
AH
98212012-01-04 Aldy Hernandez <aldyh@redhat.com>
9822
b6aa8c33 9823 * opts.c (finish_options): Remove duplicate sorry.
7ba65723 9824
3a54c456
AH
98252012-01-04 Aldy Hernandez <aldyh@redhat.com>
9826
9827 PR middle-end/51696
9828 * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
9829 correctly.
9830
f5a3d840
RG
98312012-01-04 Richard Guenther <rguenther@suse.de>
9832
9833 PR middle-end/51750
9834 * tree.c (size_low_cst): New function.
9835 * tree.h (size_low_cst): Declare.
9836 * fold-const.c (fold_comparison): Use it to extract the low
9837 part of the POINTER_PLUS_EXPR offset.
9838
299c4b5f
GJL
98392012-01-04 Georg-Johann Lay <avr@gjlay.de>
9840
9841 Fix clearing ZERO_REG
9842 * config/avr/avr.md (cc): Add alternative "ldi".
9843 (movqi_insn): Use it in cc attribute.
9844 * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
9845 (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
9846 (output_reload_insisf): Use ZERO_REG to pre-clear register.
9847
925b0ed8
AK
98482012-01-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9849
9850 * configure: Regenerate.
9851
b4cf8c9d
RG
98522012-01-04 Richard Guenther <rguenther@suse.de>
9853
9854 PR tree-optimization/49651
9855 * tree-ssa-structalias.c (type_can_have_subvars): New function.
9856 (var_can_have_subvars): Use it.
2d130b31 9857 (get_constraint_for_1): Only consider subfields if there can be any.
b4cf8c9d 9858
c067f6cf
JJ
98592012-01-03 Jakub Jelinek <jakub@redhat.com>
9860
e30afafb 9861 PR bootstrap/51725
2d130b31
UB
9862 * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
9863 to its new canonical_cselib_val and the cselib_val was in
9864 first_containing_mem chain, but the canonical_cselib_val was not,
9865 add the latter into the chain.
e30afafb
JJ
9866 (cselib_invalidate_mem): Compare canonical_cselib_val of
9867 addr_list chain elt with v.
9868
c067f6cf
JJ
9869 PR pch/51722
9870 * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
9871 dwarf2out_undef): Allocate e.info using ggc_strdup instead
9872 of xstrdup.
9873 (output_macinfo_op): Don't ggc_strdup fd->filename.
9874 (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
9875 then ggc_strdup it. Don't free inc->info or cur->info.
9876 (output_macinfo): Don't free ref->info or file->info.
9877
5d2eb24b
IR
98782012-01-03 Ira Rosen <irar@il.ibm.com>
9879
9880 PR tree-optimization/51269
9881 * tree-vect-loop-manip.c (set_prologue_iterations): Make
9882 first_niters a pointer.
9883 (slpeel_tree_peel_loop_to_edge): Likewise.
9884 (vect_do_peeling_for_loop_bound): Update call to
9885 slpeel_tree_peel_loop_to_edge.
9886 (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
9887 here. Remove it from the parameters list.
9888 (vect_do_peeling_for_alignment): Update calls and compute
9889 wide_prolog_niters.
9890
c3e85659
RG
98912012-01-03 Richard Guenther <rguenther@suse.de>
9892
9893 PR tree-optimization/51070
9894 * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
9895 Properly handle calls.
9896
f1749ec1
RG
98972012-01-03 Richard Guenther <rguenther@suse.de>
9898
9899 PR tree-optimization/51692
9900 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
9901 the LHS of allocation stmts.
9902
75291c57
OH
99032012-01-03 Olivier Hainque <hainque@adacore.com>
9904
9905 * system.h: Prior to #define, #undef fopen and freopen unconditionally.
9906
6588d711
OH
99072012-01-03 Olivier Hainque <hainque@adacore.com>
9908
9909 * collect2.c (main): In AIX specific computations for vector
9910 insertions, use CONST_CAST2 to cast from char ** to const char **.
9911
f3321fd7
RG
99122012-01-03 Richard Guenther <rguenther@suse.de>
9913
9914 PR debug/51650
9915 * dwarf2out.c (dwarf2out_finish): Always create a DIE for
9916 the context of a limbo DIE when it does not already exist.
9917
a9730200
JJ
99182012-01-03 Jakub Jelinek <jakub@redhat.com>
9919
9920 PR tree-optimization/51719
9921 * value-prof.c (gimple_ic): When indirect call isn't noreturn,
9922 but direct call is, clear direct call's lhs and don't add fallthrough
9923 edge from dcall_bb to join_bb and PHIs.
9924
be5de7a1
AK
99252012-01-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9926
9927 * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
9928 the instructions emitted by the pattern.
9929 ("*TDC_insn_<mode>"): Add comment.
9930
8b3c2951
RG
99312012-01-03 Richard Guenther <rguenther@suse.de>
9932
9933 PR middle-end/51730
9934 * fold-const.c (fold_comparison): Properly canonicalize
9935 tree offset and HOST_WIDE_INT bit position.
9936
96fda42c
UB
99372012-01-02 Uros Bizjak <ubizjak@gmail.com>
9938
9939 * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
9940 operands for extzv pattern.
9941
a4f436ff
JJ
99422012-01-02 Jakub Jelinek <jakub@redhat.com>
9943
9944 PR bootstrap/51725
9945 * cselib.c (add_mem_for_addr): Call canonical_cselib_val
9946 on mem_elt first.
9947
842322d3
SL
99482012-01-02 Sandra Loosemore <sandra@codesourcery.com>
9949
9950 * doc/invoke.texi (-flto and related options): Copy-edit.
9951
21e8e84d
RS
99522012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9953
96fda42c 9954 * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
21e8e84d 9955
06046046
JJ
99562012-01-02 Jakub Jelinek <jakub@redhat.com>
9957
9958 * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
9959 New patterns.
9960
0d8f5d62
RS
99612012-01-02 Richard Sandiford <rdsandiford@googlemail.com>
9962
9963 * expr.h (move_by_pieces_ninsns): Declare.
9964 * expr.c (move_by_pieces_ninsns): Make external.
9965 * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
9966 (mips_store_by_pieces_p): Likewise.
9967 * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
9968 (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
9969 * config/mips/mips.c (mips_move_by_pieces_p): New function.
9970 (mips_store_by_pieces_p): Likewise.
9971
9f929ce6
JJ
99722012-01-02 Jakub Jelinek <jakub@redhat.com>
9973
9974 * passes.c (register_one_dump_file): Free full_name.
9975
96fda42c 9976 * reload1.c (reload): Don't allocate reg_max_ref_width here.
9f929ce6
JJ
9977 (calculate_elim_costs_all_insns): Free offsets_at and
9978 offsets_known_at at the end and clear the pointers.
9979
ce23293b
GJL
99802012-01-02 Georg-Johann Lay <avr@gjlay.de>
9981
9982 * config/avr/avr.opt (-mbranch-cost): Fix double definition of
9983 this option introduced in r180739.
9984
884f56d1
GJL
99852012-01-02 Georg-Johann Lay <avr@gjlay.de>
9986
9987 PR target/51345
9988 * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
9989 (tmake_file target=avr): Add avr/t-multilib.
9990
9991 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
9992 to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
9993 * config/avr/genmultilib.awk: New file.
9994 * config/avr/t-multilib: New auto-generated file.
9995 * config/avr/multilib.h: New auto-generated file.
9996 * config/avr/t-avr (AVR_MCUS): New variable.
9997 (genopt.sh): Use it.
9998 (s-mlib): Depend on t-multilib.
9999 (t-multilib, multilib.h): New dependencies.
10000 (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
10001 (MULTILIB_OPTIONS): Remove.
10002 (MULTILIB_MATCHES): Remove.
10003 (MULTILIB_DIRNAMES): Remove.
10004 (MULTILIB_EXCEPTIONS): Remove:
10005 * config/avr/genopt.sh: Don't use hard coded file name;
10006 pass AVR_MCUS from t-avr instead.
10007
9ecd3a64
GJL
100082012-01-02 Georg-Johann Lay <avr@gjlay.de>
10009
10010 * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
10011
8c57e547
GJL
100122012-01-02 Georg-Johann Lay <avr@gjlay.de>
10013
10014 Implement light-weight DImode support.
10015 * config/avr/avr-dimode.md: New file.
10016 * config/avr/avr.md: Include it.
10017 (adjust_len): Add plus64, compare64.
10018 (HIDI): Remove code iterator.
10019 (code_stdname): New code attribute.
10020 (rotx, rotsmode): Remove DI.
10021 (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
10022 as code iterator.
10023 * config/avr/avr-protos.h (avr_have_dimode): New.
10024 (avr_out_plus64, avr_out_compare64): New.
10025 * config/avr/avr.c (avr_out_compare): Handle DImode.
10026 (avr_have_dimode): New variable definition and initialization.
10027 (avr_out_compare64, avr_out_plus64): New functions.
10028 (avr_out_plus_1): Use simplify_unary_operation to negate xval.
10029 (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
10030 (avr_compare_pattern): Skip DImode comparisons.
10031
8b61e863
RE
100322012-01-02 Revital Eres <revital.eres@linaro.org>
10033
10034 * ddg.c (def_has_ccmode_p): New function.
10035 (add_cross_iteration_register_deps,
10036 create_ddg_dep_from_intra_loop_link): Call it.
10037
ba768e18
RG
100382012-01-02 Richard Guenther <rguenther@suse.de>
10039
10040 PR other/51679
10041 * invoke.texi (fassociative-math): Remove spurious paranthesis.
10042
66f1b195
JJ
100432012-01-01 Jakub Jelinek <jakub@redhat.com>
10044
10045 * gcc.c (process_command): Update copyright notice dates.
10046 * gcov.c (print_version): Likewise.
10047 * gcov-dump.c (print_version): Likewise.
10048 * mips-tfile.c (main): Likewise.
10049 * mips-tdump.c (main): Likewise.
10050
f2c74cc4
IR
100512012-01-01 Ira Rosen <irar@il.ibm.com>
10052
10053 PR tree-optimization/51704
10054 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
96fda42c 10055 a use is inside the basic block or loop before accessing its vect info.
f2c74cc4 10056
06f1716b
JH
100572012-01-01 Jan Hubicka <jhjh@suse.cz>
10058
10059 PR rtl-optimization/51069
10060 * cfgloopmanip.c (remove_path): Removing path making irreducible
10061 region unconditional makes BB part of the region.
10062
45a5b21a
JJ
100632012-01-01 Jakub Jelinek <jakub@redhat.com>
10064
10065 PR tree-optimization/51683
10066 * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
10067 calls with side-effects.
10068 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
ad41bd84 10069\f
a7f45047 10070Copyright (C) 2012 Free Software Foundation, Inc.
ad41bd84
JM
10071
10072Copying and distribution of this file, with or without modification,
10073are permitted in any medium without royalty provided the copyright
10074notice and this notice are preserved.