]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
cgraphbuild.c (record_reference): Canonicalize constructor values.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
0038d4e0
MM
12011-04-03 Michael Matz <matz@suse.de>
2
3 * cgraphbuild.c (record_reference): Canonicalize constructor
4 values.
5 * gimple-fold.c (canonicalize_constructor_val): Accept being called
6 without function context.
7 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
8 current_function_decl and cfun.
9
91f2fae8
MM
102011-04-03 Michael Matz <matz@suse.de>
11
12 * tree.c (decl_init_priority_insert): Don't create entry for
13 default priority.
14 (decl_fini_priority_insert): Ditto.
15 (fields_compatible_p, find_compatible_field): Remove.
16 * tree.h (fields_compatible_p, find_compatible_field): Remove.
17 * gimple.c (gimple_compare_field_offset): Adjust block comment.
18
da29e070
EB
192011-04-03 Eric Botcazou <ebotcazou@adacore.com>
20
21 * combine.c (try_combine): Remove useless local variable.
22
4979c28b 232011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 24 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
25
26 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
27 non-variable offsets and compare the remaining bases of the two
28 accesses instead of looking for exact same data-ref.
29
b4ddcaee
KT
302011-04-02 Kai Tietz <ktietz@redhat.com>
31
f90298e1
KT
32 PR target/48416
33 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
34
b4ddcaee
KT
35 * i386.c (ix86_is_msabi_thiscall): New helper function.
36 (ix86_is_type_thiscall): New helper function.
37 (ix86_comp_type_attributes): Handle thiscall for method-functions
38 special.
39 (init_cumulative_args): Likewise.
40 (find_drap_reg): Likewise.
41 (ix86_static_chain): Likewise.
42 (x86_this_parameter): Likewise.
43 (x86_output_mi_thunk): Likewise.
44
2a9d769a 452011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
46 Nicolas Setton <setton@adacore.com>
47 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
48
49 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
50 (add_gnat_descriptive_type_attribute): New function.
51 (gen_array_type_die): Call it.
52 (gen_enumeration_type_die): Likewise.
53 (gen_struct_or_union_type_die): Likewise.
54 (modified_type_die): Likewise.
55 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
56 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
57 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
58
15a03a11
JJ
592011-04-01 Jakub Jelinek <jakub@redhat.com>
60
61 PR bootstrap/48148
62 * dwarf2out.c (resolve_addr): Don't call force_decl_die
63 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
64
65 Revert:
66 2011-03-17 Richard Guenther <rguenther@suse.de>
67
68 PR bootstrap/48148
69 * lto-cgraph.c (input_overwrite_node): Clear the abstract
70 origin for decls in other ltrans units.
71 (input_varpool_node): Likewise.
72
19228b93
JJ
732011-04-01 Jakub Jelinek <jakub@redhat.com>
74
75 PR middle-end/48335
76 * expr.c (expand_assignment): Handle all possibilities
77 if TO_RTX is CONCAT.
78 * expmed.c (store_bit_field_1): Avoid trying to create
79 invalid SUBREGs.
80 (store_split_bit_field): If SUBREG_REG (op0) or
81 op0 itself has smaller mode than word, return it
82 for offset 0 and const0_rtx for out-of-bounds stores.
83 If word is const0_rtx, skip it.
84
88cb339e
N
852011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
86
87 * config/h8300/h8300.c (print_operand_address): Rename to...
88 (h8300_print_operand_address): ...this. Make static. Adjust comments.
89 Call h8300_print_operand and h8300_print_operand_address instead of
90 print_operand and print_operand_address. Declare.
91 (print_operand): Renake to...
92 (h8300_print_operand): ...this. Make static. Adjust comments.
93 Call h8300_print_operand instead of print_operand. Declare.
94 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
95 (h8300_register_move_cost): Likewise.
96 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
97 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
98 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
99 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
100 * config/h8300/h8300-protos.h (print_operand): Delete.
101 (print_operand_address): Delete.
102
756d6ee9
RH
1032011-04-01 Richard Henderson <rth@redhat.com>
104
105 PR 48400
106 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
107 in strict mode before dwarf4. Re-order tests to early out
108 before switching sections.
109
ceaaaeab
NF
1102011-04-01 Nathan Froyd <froydnj@codesourcery.com>
111
112 * config/h8300/constraints.md: New file.
113 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
114 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
115 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
116 * config/h8300/predicates.md (bit_operand): Likewise.
117 (incdec_operand): Use satisfies_constraint_M and
118 satisfies_constraint_O. Don't use C code block.
119 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
120 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
121 (compute_mov_length): Use satisfies_constraint_G.
122 (fix_bit_operand): Use satisfies_constraint_U.
123 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
124 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
125 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
126 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
127 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
128 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
129 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
130 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
131 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
132 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
133 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
134 (EXTRA_MEMORY_CONSTRAINT): Delete.
135
08ae38e0
AP
1362011-04-01 Andrew Pinski <pinskia@gmail.com>
137 Michael Meissner <meissner@linux.vnet.ibm.com>
138
139 PR target/48262
140 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
141 operands, as per the specifications.
142
143 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
144 (vec_extract_evenv4sf): Ditto.
145 (vec_extract_evenv8hi): Ditto.
146 (vec_extract_evenv16qi): Ditto.
147 (vec_extract_oddv4si): Ditto.
148
bdb0b0f6
MW
1492011-03-31 Mark Wielaard <mjw@redhat.com>
150
151 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
152 high_pc attribute if the CU has no associated code. Only output
153 DW_AT_entry_pc for CU if not generating strict dwarf and
154 dwarf_version < 4.
155
722279e4
BS
1562011-04-01 Bernd Schmidt <bernds@codesourcery.com>
157
158 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
159 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
160 out of ...
161 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
162 * final.c (final_start_function): Call the new function rather
163 than using a NULL argument for dwarf2out_frame_debug.
164
c5dd277d
BS
165 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
166 that contains the prologue.
167
ec4efea9
BS
168 * haifa-sched.c (queue_insn): New arg REASON. All callers
169 changed. Print it in debugging output.
170
2a6a0d80
BS
171 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
172
86014d07
BS
173 * sched-ebb.c (begin_schedule_ready): Remove second argument.
174 Split most of the code into...
175 (begin_move_insn): ... here. New function.
176 (ebb_sched_info): Add a pointer to it.
177 * haifa-sched.c (scheduled_insns): New static variable.
178 (sched_extend_ready_list): Allocate it.
179 (schedule_block): Use it to record the order of scheduled insns.
180 Perform RTL changes to move insns only after all scheduling
181 decisions have been made.
182 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
183 begin_move_insn field.
184 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
185 * sched-int.h (struct haifa_sched_info): Remove second argument
186 from begin_schedule_ready hook. Add new member begin_move_insn.
187 * sched-rgn.c (begin_schedule_ready): Remove second argument.
188 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
189
9d701248
BS
190 * haifa-sched.c (prune_ready_list): New function, broken out of
191 schedule_block.
192 (schedule_block): Use it.
193
1ca1dad5
UW
1942011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
195
196 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
197
49568e45
KT
1982011-04-01 Kai Tietz <ktietz@redhat.com>
199
200 * config.gcc (*-*-mingw*): Allow as option the
201 posix threading model.
202 * config/i386/mingw32.h ( SPEC_PTHREAD1, SPEC_PTHREAD2):
203 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
204 definition.
205 (CPP_SPEC): Add pthread/no-pthread handling.
206 (LIB_SPEC): Likewise.
207 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
208 (LIB_SPEC): Likewise.
209 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
210 flag to pass -pthread option for shared libgcc build.
211 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
212 for shared libgcc build.
213 * config/i386/t-mingw-pthread: New file.
214 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
215 New define to enable use of library pthread by default.
216 * config/i386/mingw.opt (pthread): New driver option.
217 (no-pthread): New driver option.
218 * config/i386/cygming.opt: Make sure trailing empty line
219 is retained.
220 * config/i386/mingw-w64.opt: Likewise.
221
636b4106
GF
2222011-04-01 Gary Funck <gary@intrepid.com>
223
224 * c-decl.c (grokdeclarator): Fix formatting.
225
f04713ee
RS
2262011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
227
228 * expr.c (emit_block_move_via_movmem): Use n_generator_args
229 instead of n_operands.
230 (set_storage_via_setmem): Likewise.
231 * optabs.c (maybe_gen_insn): Likewise.
232 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
233 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
234 (mips_expand_builtin_direct): Likewise.
235 * config/spu/spu.c (expand_builtin_args): Likewise.
236
b29387ee
RS
2372011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
238
239 * recog.h (insn_data_d): Add n_generator_args.
240 * genoutput.c (data): Likewise.
241 (output_insn_data): Print it.
242 (max_opno, num_dups): Delete.
243 (scan_operands): Just fill in "d->operand[...]".
244 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
245
e792559a
RS
2462011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
247
248 * gensupport.h (pattern_stats): New structure.
249 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
250 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
251 (max_operand_1, max_operand_vec): Delete.
252 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
253
e8110d6f
NF
2542011-03-31 Nathan Froyd <froydnj@codesourcery.com>
255
256 * emit-rtl.c (emit_pattern_after_setloc): New function.
257 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
258 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
259 (emit_pattern_after): New function.
260 (emit_insn_after, emit_jump_insn_after): Call it.
261 (emit_call_insn_after, emit_debug_insn_after): Likewise.
262 (emit_pattern_before_setloc): New function.
263 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
264 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
265 Likewise.
266 (emit_pattern_before): New function.
267 (emit_insn_before, emit_jump_insn_before): Call it.
268 (emit_call_insn_before, emit_debug_insn_before): Likewise.
269
576f85f1
RH
2702011-03-31 Richard Henderson <rth@redhat.com>
271
272 * dwarf2out.c (dw_separate_line_info_ref): Remove.
273 (dw_separate_line_info_entry): Remove.
274 (enum dw_line_info_opcode): New.
275 (dw_line_info_entry): Use it.
276 (dw_line_info_table, dw_line_info_table_p): New.
277 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
278 (line_info_table, line_info_label_num): Remove.
279 (line_info_table_in_use): Remove.
280 (separate_line_info_table): Remove.
281 (separate_line_info_table_allocated): Remove.
282 (separate_line_info_table_in_use): Remove.
283 (LINE_INFO_TABLE_INCREMENT): Remove.
284 (line_info_label_num): New.
285 (cur_line_info_table): New.
286 (text_section_line_info, cold_text_section_line_info): New.
287 (separate_line_info): New.
288 (SEPARATE_LINE_CODE_LABEL): Remove.
289 (print_dwarf_line_table): Remove.
290 (debug_dwarf): Don't dump it.
291 (output_one_line_info_table): New.
292 (output_line_info): Use it.
293 (new_line_info_table): New.
294 (set_cur_line_info_table): New.
295 (dwarf2out_switch_text_section): Use it.
296 (dwarf2out_begin_function): Likewise.
297 (push_dw_line_info_entry): New.
298 (dwarf2out_source_line): Rewrite for new line info tables.
299 (dwarf2out_init): Remove dead initailizations.
300
300d83d9
JM
3012011-03-31 Joseph Myers <joseph@codesourcery.com>
302
303 * opts.h (cl_option): Add comments to fields. Add bit-fields for
304 various flags.
305 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
306 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
307 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
308 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
309 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
310 * opt-functions.awk (flag_init, switch_bit_fields): New.
311 (switch_flags): Don't handle flags moved to bit-fields. Don't
312 generate CL_MISSING_OK or CL_SAVE.
313 * optc-gen.awk: Update to generate bit-field output as well as
314 flags field.
315 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
316 bit-field instead of CL_REJECT_DRIVER flag.
317 * opts-common.c (generate_canonical_option,
318 decode_cmdline_option): Use bit-fields instead of CL_* flags.
319 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
320 instead of CL_REJECT_NEGATIVE flag.
321 * toplev.c (print_switch_values): Use cl_report bit-field instead
322 of CL_REPORT flag.
323
d4d73ce2
EB
3242011-03-31 Eric Botcazou <ebotcazou@adacore.com>
325
326 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
327 a zero minimum index only if it is redundant.
328
b8faca75
VM
3292011-03-31 Vladimir Makarov <vmakarov@redhat.com>
330
331 PR rtl-optimization/48381
332 * ira-color.c (assign_hard_reg): Use hard reg set intersection
333 instead of ira_class_hard_reg_index for calculating conflicting
334 hard registers.
335
7d11cebe
SB
3362011-03-31 Steven Bosscher <steven@gcc.gnu.org>
337
338 * cprop.c: Clean up hash table building.
339 (reg_avail_info): Remove.
340 (oprs_available_p): Remove.
341 (record_last_reg_set_info): Remove.
342 (record_last_set_info): Remove.
343 (reg_available_p): New function.
344 (gcse_constant_p): Do not treat unfolded conditions as constants.
345 (make_set_regs_unavailable): New function.
346 (hash_scan_set): Simplify with new reg_available_p.
347 (compute_hash_table_work): Traverse insns stream only once.
348 Do not compute reg_avail_info. Traverse insns in reverse order.
349 Record implicit sets after recording explicit sets from the block.
350
98faf84f
MM
3512011-03-31 Michael Matz <matz@suse.de>
352
353 * builtins.c (build_va_arg_indirect_ref): Use
354 build_simple_mem_ref_loc.
355
f52d97da
AS
3562011-03-31 Anatoly Sokolov <aesok@post.ru>
357
358 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
359 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
360 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
361 (h8300_mode_dependent_address_p): New function.
362 (h8300_get_index): Make static.
363
e16b6fd0
JL
3642011-03-31 Jeff Law <law@redhat.com>
365
10c51983
JL
366 * reload1.c (elimination_effects): Fix typo in recent change.
367
e16b6fd0
JL
368 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
369 typo potentially leading to null pointer dereference.
370
371 * caller-save.c (new_saved_hard_reg): Eliminate return value.
372 (setup_save_areas): Corresponding changes to avoid useless
373 assignments.
374
375 * jump.c (reversed_comparison_code_parts): Avoid successive return
376 statements when REVERSE_CONDITION is defined.
377
378 * expr.c (expand_assignment): Avoid useless assignments.
379 (expand_expr_real_1): Likewise.
380 (expand_expr_real_2): Avoid useless statements.
381
382 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
383
384 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
385
386 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
387 statements.
388
389 * stmt.c (expand_expr_stmt): Avoid useless assignment.
390
eb1eb914
JM
3912011-03-31 Joseph Myers <joseph@codesourcery.com>
392
393 PR target/47109
394 * doc/tm.texi.in (TARGET_VERSION): Remove.
395 * doc/tm.texi: Regenerate.
396 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
397 * collect2.c (main): Don't use TARGET_VERSION.
398 * mips-tdump.c (main): Don't use TARGET_VERSION.
399 * mips-tfile.c (main): Don't use TARGET_VERSION.
400 * config.gcc (powerpc-wrs-vxworksae): Don't use
401 rs6000/vxworksae.h.
402 * config/rs6000/vxworksae.h: Remove.
403 * config/alpha/alpha.h (TARGET_VERSION): Remove.
404 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
405 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
406 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
407 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
408 * config/arm/arm.h (TARGET_VERSION): Remove.
409 * config/arm/coff.h (TARGET_VERSION): Remove.
410 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
411 * config/arm/elf.h (TARGET_VERSION): Remove.
412 * config/arm/freebsd.h (TARGET_VERSION): Remove.
413 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
414 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
415 * config/arm/pe.h (TARGET_VERSION): Remove.
416 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
417 * config/arm/semi.h (TARGET_VERSION): Remove.
418 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
419 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
420 * config/arm/vxworks.h (TARGET_VERSION): Remove.
421 * config/avr/avr.h (TARGET_VERSION): Remove.
422 * config/bfin/bfin.h (TARGET_VERSION): Remove.
423 * config/fr30/fr30.h (TARGET_VERSION): Remove.
424 * config/frv/frv.h (TARGET_VERSION): Remove.
425 * config/h8300/h8300.h (TARGET_VERSION): Remove.
426 * config/i386/cygwin.h (TARGET_VERSION): Remove.
427 * config/i386/darwin.h (TARGET_VERSION): Remove.
428 * config/i386/darwin64.h (TARGET_VERSION): Remove.
429 * config/i386/djgpp.h (TARGET_VERSION): Remove.
430 * config/i386/freebsd.h (TARGET_VERSION): Remove.
431 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
432 * config/i386/gnu.h (TARGET_VERSION): Remove.
433 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
434 * config/i386/i386elf.h (TARGET_VERSION): Remove.
435 * config/i386/linux.h (TARGET_VERSION): Remove.
436 * config/i386/linux64.h (TARGET_VERSION): Remove.
437 * config/i386/lynx.h (TARGET_VERSION): Remove.
438 * config/i386/mingw32.h (TARGET_VERSION): Remove.
439 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
440 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
441 * config/i386/netware.h (TARGET_VERSION): Remove.
442 * config/i386/nto.h (TARGET_VERSION): Remove.
443 * config/i386/openbsd.h (TARGET_VERSION): Remove.
444 * config/i386/vxworks.h (TARGET_VERSION): Remove.
445 * config/ia64/elf.h (TARGET_VERSION): Remove.
446 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
447 * config/ia64/hpux.h (TARGET_VERSION): Remove.
448 * config/ia64/linux.h (TARGET_VERSION): Remove.
449 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
450 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
451 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
452 * config/lm32/lm32.h (TARGET_VERSION): Remove.
453 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
454 * config/m32c/m32c.h (TARGET_VERSION): Remove.
455 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
456 * config/m32r/m32r.h (TARGET_VERSION): Remove.
457 * config/m68k/linux.h (TARGET_VERSION): Remove.
458 * config/m68k/m68k.h (TARGET_VERSION): Remove.
459 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
460 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
461 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
462 * config/mep/mep.h (TARGET_VERSION): Remove.
463 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
464 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
465 * config/mips/iris6.h (MACHINE_TYPE): Remove.
466 * config/mips/linux.h (TARGET_VERSION): Remove.
467 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
468 * config/mips/vxworks.h (TARGET_VERSION): Remove.
469 * config/mmix/mmix.h (TARGET_VERSION): Remove.
470 * config/mn10300/linux.h (TARGET_VERSION): Remove.
471 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
472 * config/pa/pa.h (TARGET_VERSION): Remove.
473 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
474 * config/picochip/picochip.h (TARGET_VERSION): Remove.
475 * config/rs6000/aix.h (TARGET_VERSION): Remove.
476 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
477 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
478 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
479 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
480 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
481 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
482 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
483 * config/rs6000/linux.h (TARGET_VERSION): Remove.
484 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
485 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
486 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
487 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
488 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
489 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
490 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
491 * config/s390/linux.h (TARGET_VERSION): Remove.
492 * config/s390/s390.h (TARGET_VERSION): Remove.
493 * config/s390/tpf.h (TARGET_VERSION): Remove.
494 * config/score/score.h (TARGET_VERSION): Remove.
495 * config/sh/linux.h (TARGET_VERSION): Remove.
496 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
497 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
498 * config/sh/sh.h (TARGET_VERSION): Remove.
499 * config/sh/sh64.h (TARGET_VERSION): Remove.
500 * config/sh/superh.h (TARGET_VERSION): Remove.
501 * config/sh/vxworks.h (TARGET_VERSION): Remove.
502 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
503 * config/sparc/linux.h (TARGET_VERSION): Remove.
504 * config/sparc/linux64.h (TARGET_VERSION): Remove.
505 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
506 TARGET_NAME32, TARGET_NAME): Remove.
507 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
508 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
509 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
510 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
511 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
512 * config/spu/spu.h (TARGET_VERSION): Remove.
513 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
514 * config/v850/v850.h (TARGET_VERSION): Remove.
515 * config/vax/linux.h (TARGET_VERSION): Remove.
516 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
517 * config/xtensa/elf.h (TARGET_VERSION): Remove.
518 * config/xtensa/linux.h (TARGET_VERSION): Remove.
519
ace31bca
EB
5202011-03-31 Eric Botcazou <ebotcazou@adacore.com>
521
522 PR target/48142
523 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
524 frame-related from frame-unrelated adjustments to the stack pointer.
525
76f9db36
JJ
5262011-03-31 Jakub Jelinek <jakub@redhat.com>
527
528 * common.opt (fdebug-types-section): Move earlier.
529 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
530
b7826465
AT
5312011-03-31 Andreas Tobler <andreast@fgznet.ch>
532
533 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
534 var.
535
1290e54c
NF
5362011-03-30 Nathan Froyd <froydnj@codesourcery.com>
537
538 * tree.h (CASE_CHAIN): Define.
539 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
540 (gimple_redirect_edge_and_branch): Likewise.
541
bddc98e1
VM
5422011-03-30 Vladimir Makarov <vmakarov@redhat.com>
543
544 PR middle-end/48367
545 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
546 calculation.
547
c865e437
JL
5482011-03-30 Jeff Law <law@redhat.com>
549
b3750213 550 * PR bootstrap/48371
c865e437
JL
551 * reload1.c (reload): Fix botch in last change.
552
553 * reload.h (struct reload): Fix typo introduced in last change.
554
2cdf9574
JM
5552011-03-30 Joseph Myers <joseph@codesourcery.com>
556
557 * config/arm/arm.opt (mhard-float, msoft-float): Mark
558 Undocumented. Remove help text.
559 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
560 -mhard-float.
561
666a21a2
JM
5622011-03-30 Joseph Myers <joseph@codesourcery.com>
563
564 * doc/options.texi (NegativeAlias): Document.
565 (Alias): Mention NegativeAlias.
566 * opt-functions.awk: Handle NegativeAlias.
567 * optc-gen.awk: Disallow NegativeAlias with multiple Alias
568 arguments.
569 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
570 * opts.h (CL_NEGATIVE_ALIAS): Define.
571 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
572 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
573 OPT_mspe_.
574 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
575 Alias entries.
576 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
577 mno-spe and mno-isel instead of mspe=no and -misel=no.
578
0fa4e351
MW
5792011-03-29 Mark Wielaard <mjw@redhat.com>
580
581 * common.opt (fdebug-types-section): New flag.
582 * doc/invoke.texi: Document new -fno-debug-types-section flag.
583 * dwarf2out.c (use_debug_types): New define.
584 (struct die_struct): Mark die_id with GTY desc use_debug_types.
585 (print_die): Guard output of type unit signatures using
586 use_debug_types.
587 (build_abbrev_table): Replace assert of dwarf_version >= 4
588 with assert on use_debug_types.
589 (size_of_die): Likewise.
590 (unmark_dies): Likewise.
591 (value_format): Decide AT_ref_external form on use_debug_types.
592 (output_die): Replace dwarf_version version check guard with
593 use_debug_types where appropriate.
594 (modified_type_die): Likewise.
595 (gen_reference_type_die): Likewise.
596 (dwarf2out_start_source_file): Likewise.
597 (dwarf2out_end_source_file): Likewise.
598 (prune_unused_types_walk_attribs): Likewise.
599 (dwarf2out_finish): Likewise.
600
4648deb4
VM
6012011-03-30 Vladimir Makarov <vmakarov@redhat.com>
602
603 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
604
4f431835
RS
6052011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
606
607 PR rtl-optimization/48332
608 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
609 mode of input operand N and modeN to its actual mode.
610
f2034d06
JL
6112011-03-30 Jeff Law <law@redhat.com>
612
613 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
614 define accessor macro.
615 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
616 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
617 (reg_equiv_init): Likewise.
618 (reg_equivs_size): New variable.
619 (reg_equiv_init_size): Remove.
620 (allocate_initial_values): Move prototype to here from....
621 * integrate.h (allocate_initial_values): Remove prototype.
622 * integrate.c: Include reload.h.
623 (allocate_initial_values): Corresponding changes.
624 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
625 (fix_reg_equiv_init, no_equiv): Corresponding changes.
626 (update_equiv_regs): Corresponding changes.
627 (ira): Corresponding changes.
628 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
629 (push_secondary_reload): Corresponding changes.
630 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
631 (make_memloc, find_reloads_address): Corresponding changes.
632 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
633 (find_reloads_address_1): Corresponding changes.
634 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
635 (refers_to_regno_for_reload_p): Corresponding changes.
636 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
637 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
638 * reload1.c: Include ggc.h.
639 (grow_reg_equivs): New function.
640 (replace_pseudos_in, reload): Corresponding changes.
641 (calculate_needs_all_insns, alter_regs): Corresponding changes.
642 (eliminate_regs_1, elimination_effects): Corresponding changes.
643 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
644 (delete_output_reload): Likewise.
645 * caller-save.c (mark_referenced_regs): Corresponding changes.
646 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
647 * frv/predicates.md (frv_load_operand): Corresponding changes.
648 * microblaze/microblaze.c (double_memory_operand): Corresponding
649 changes.
650 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
651 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
652 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding
653 changes.
654 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
655 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
656 changes.
657 * pa/pa.c (emit_move_sequence): Corresponding changes.
658 * vax/vax.c (nonindexed_address_p): Corresponding changes.
659
159b81b0
RS
6602011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
661
662 PR target/47551
663 * config/arm/arm.c (coproc_secondary_reload_class): Handle
664 structure modes. Don't check neon_vector_mem_operand for
665 vector or structure modes.
666
a6217191
RS
6672011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
668 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
669
670 PR target/43590
671 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
672 operand 1 and reshuffle the operands to match.
673 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
674
bd837408
CS
6752011-03-30 Christian Schüler <cschueler@gmx.de>
676
6955d771 677 PR driver/48208
bd837408 678 * config/c.opt (F): Added 'Driver' to -F option.
6955d771 679 PR driver/48260
bd837408
CS
680 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
681 handler function.
682 * config/darwin.opt: Added '-arch' option.
683
e9c0470a
NC
6842011-03-30 Nick Clifton <nickc@redhat.com>
685
686 * config/rx/rx.md: Add peepholes and patterns to combine
687 extending loads and simple arithmetic instructions.
688 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
689 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
690 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
691 modes to use pre-decrement and post-increment addressing.
692 (rx_is_restricted_memory_address): Add range checking of REG+INT
693 addresses.
694 (rx_print_operand): Add support for %Q.
695 Fix handling of %Q.
696 (rx_memory_move_cost): Adjust cost of stores.
697 (rx_adjust_insn_length): New function.
698
8a87e7ab
JJ
6992011-03-30 Jakub Jelinek <jakub@redhat.com>
700
701 PR c/48305
702 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
703 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
704 matching arg00/arg01 types.
705
12486e03
EB
7062011-03-30 Eric Botcazou <ebotcazou@adacore.com>
707
708 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
709 last_location to UNKNOWN_LOCATION.
710
0b99eef6
L
7112011-03-30 H.J. Lu <hongjiu.lu@intel.com>
712
713 PR target/48349
714 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
715 FLOAT_SSE_REGS.
716
023592aa
JM
7172011-03-30 Joseph Myers <joseph@codesourcery.com>
718 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
719
720 PR bootstrap/48337
721 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
722 Init(PROCESSOR_V7).
723 (sparc_cpu): Likewise.
724 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
725 PROCESSOR_V7.
726
ad3b266b
VM
7272011-03-29 Vladimir Makarov <vmakarov@redhat.com>
728
729 PR target/48336
730 PR middle-end/48342
731 PR rtl-optimization/48345
732 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
733 hard regs for given mode from profitable regs when doing secondary
734 allocation.
735
633c9126
JL
7362011-03-29 Jeff Law <law@redhat.com>
737
738 PR bootstrap/48327
739 * tree-ssa-threadupdate.c (struct redirection_data): Remove
740 do_not_duplicate field.
741 (lookup_redirection_data): Corresponding changes.
742 (create_duplicates): Always create a template block.
743 (redirect_edges): Remove code which reused the original block
744 when it was going to become unreachable code.
745 (thread_block): Don't set do_not_duplicate field.
746
eb50f63a
JM
7472011-03-29 Joseph Myers <joseph@codesourcery.com>
748
749 * lto-opts.c (register_user_option_p, lto_register_user_option):
750 Make type argument unsigned.
751 * lto-streamer.h (lto_register_user_option): Make type argument
752 unsigned.
753 * opth-gen.awk: Make CL_* macros unsigned.
754 * opts-common.c (find_opt): Make lang_mask argument unsigned.
755 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
756 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
757 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
758 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
759 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
760 (find_opt): Make lang_mask argument unsigned.
761
76763a6d
VM
7622011-03-29 Vladimir Makarov <vmakarov@redhat.com>
763
764 PR rtl-optimization/48331
765 PR rtl-optimization/48334
766 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
767 for any used algorithm.
768
5c82436e
VM
7692011-03-29 Vladimir Makarov <vmakarov@redhat.com>
770
771 * ira-conflicts.c (build_object_conflicts): Add unused attribute
772 to parent_max.
773
7a81008b
UB
7742011-03-29 Uros Bizjak <ubizjak@gmail.com>
775
776 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
777 (alpha_option_override): Don't set alpha_sr_alias_set.
778 (emit_frame_store_1): Use gen_frame_mem rather than calling
779 set_mem_alias_set.
780 (alpha_expand_epilogue): Ditto.
781
86c8d1f6
IR
7822011-03-29 Ira Rosen <ira.rosen@linaro.org>
783
784 PR tree-optimization/48290
785 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
786 vectorization, check that relevant phis in the basic block after
787 the inner loop are really inner loop's exit phis.
788
0d12220f
RS
7892011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
790
e8cf17e7 791 PR debug/48190
0d12220f
RS
792 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
793 (cached_dw_loc_list_def): New structure.
794 (cached_dw_loc_list): New typedef.
795 (cached_dw_loc_list_table): New variable.
796 (cached_dw_loc_list_table_hash): New function.
797 (cached_dw_loc_list_table_eq): Likewise.
798 (add_location_or_const_value_attribute): Take a bool cache_p.
799 Cache the list when the parameter is true.
800 (gen_formal_parameter_die): Update caller.
801 (gen_variable_die): Likewise.
802 (dwarf2out_finish): Likewise.
803 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
804 while generating debug info for the decl.
805 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
806 (dwarf2out_init): Initialize cached_dw_loc_list_table.
807 (resolve_addr): Cache the result of resolving a chain of
808 location lists.
809
1756cb66
VM
8102011-03-28 Vladimir Makarov <vmakarov@redhat.com>
811
812 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
813 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 814
1756cb66
VM
815 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
816 after regstat_init_n_sets_and_refs.
817
818 * ira.c: Add more comments at the top.
819 (setup_stack_reg_pressure_class, setup_pressure_classes):
820 Add comments how we compute the register pressure classes.
821 (setup_allocno_and_important_classes): Add more comments.
822 (setup_class_translate_array, reorder_important_classes)
823 (setup_reg_class_relations): Add comments.
824
825 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
826 start of the file.
827
828 * ira-color.c: Add 2011 to the Copyright line.
829 (assign_hard_reg): Add more comments.
830 (improve_allocation): Ditto.
831
832 * ira-costs.c: Add 2011 to the Copyright line.
833 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
834 comments.
835 (setup_regno_cost_classes_by_mode): Ditto.
836
837 Initial patches from ira-improv branch:
838
839 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
840
841 * ira-build.c: (ira_create_object): Remove initialization of
842 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
843 (ira_create_allocno): Remove initialization of
844 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
845 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
846 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
847 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
848 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
849 Initialize ALLOCNO_ADD_DATA.
850 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
851 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
852 ALLOCNO_REG.
853 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
854 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
855
856 * ira.c (ira_reallocate): Remove.
857 (setup_pressure_classes): Call
858 ira_init_register_move_cost_if_necessary. Use
859 ira_register_move_cost instead of ira_get_register_move_cost.
860 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
861 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
862
863 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
864 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
865 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
866 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
867 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
868 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
869 Fix formatting.
7a81008b 870 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
871 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
872 (struct allocno_color_data): New.
873 (allocno_color_data_t): New typedef.
874 (allocno_color_data): New definition.
875 (ALLOCNO_COLOR_DATA): New macro.
876 (struct object_color_data): New.
877 (object_color_data_t): New typedef.
878 (object_color_data): New definition.
879 (OBJECT_COLOR_DATA): New macro.
880 (update_copy_costs, calculate_allocno_spill_cost): Call
881 ira_init_register_move_cost_if_necessary. Use
882 ira_register_move_cost instead of ira_get_register_move_cost.
883 (move_spill_restore, update_curr_costs): Ditto.
884 (allocno_spill_priority): Make it inline.
7a81008b 885 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
886 (struct coalesce_data, coalesce_data_t): New.
887 (allocno_coalesce_data): New definition.
888 (ALLOCNO_COALESCE_DATA): New macro.
889 (merge_allocnos, coalesced_allocno_conflict_p): Use
890 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
891 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
892 (coalesce_allocnos): Ditto.
893 (setup_coalesced_allocno_costs_and_nums): Ditto.
894 (collect_spilled_coalesced_allocnos): Ditto.
895 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
896 (setup_slot_coalesced_allocno_live_ranges): Ditto.
897 (coalesce_spill_slots): Ditto.
898 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
899 free allocno_coalesce_data.
900
901 * ira-conflicts.c: Fix formatting.
902 (process_regs_for_copy): Call
903 ira_init_register_move_cost_if_necessary. Use
904 ira_register_move_cost instead of ira_get_register_move_cost.
905 (build_object_conflicts): Optimize.
906
907 * ira-costs.c (record_reg_classes): Optimize. Call
908 ira_init_register_move_cost_if_necessary. Use
909 ira_register_move_cost, ira_may_move_in_cost, and
910 ira_may_move_out_cost instead of ira_get_register_move_cost and
911 ira_get_may_move_cost.
912 (record_address_regs): Ditto.
913 (scan_one_insn): Optimize.
914 (find_costs_and_classes): Optimize.
915 (process_bb_node_for_hard_reg_moves): Call
916 ira_init_register_move_cost_if_necessary. Use
917 ira_register_move_cost instead of ira_get_register_move_cost.
918
919 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
920 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
921 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
922 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
923 definitions.
924 (ira_initiate_emit_data, ira_finish_emit_data)
925 (create_new_allocno): New functions.
7a81008b 926 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
927 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
928 Use ira_register_move_cost instead of ira_get_register_move_cost.
929
930 * ira-int.h: Fix some comments.
7a81008b
UB
931 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
932 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
933 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
934 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
935 add_data.
936 (struct ira_allocno): Make mode and aclass a bitfield. Move other
937 bitfield after mode. Make hard_regno a short int. Make
938 hard_regno short. Remove first_coalesced_allocno and
939 next_coalesced_allocno. Move mem_optimized_dest_p,
940 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
941 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
942 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
943 temp, colorable_p. Add new member add_data.
944 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
945 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
946 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
947 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
948 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
949 (ALLOCNO_ADD_DATA): New macro.
950 (ira_emit_data_t): New typedef.
951 (struct ira_emit_data): New. Move mem_optimized_dest_p,
952 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
953 from struct ira_allocno.
954 (ALLOCNO_EMIT_DATA): New macro.
955 (ira_allocno_emit_data, allocno_emit_reg): New.
956 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 957 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
958 (OBJECT_ADD_DATA): New macro.
959 (ira_reallocate): Remove.
960 (ira_initiate_emit_data, ira_finish_emit_data): New.
961 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
962 (ira_init_register_move_cost_if_necessary): New.
963 (ira_object_conflict_iter_next): Merge into
964 ira_object_conflict_iter_cond.
7a81008b 965 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66
VM
966
967 * ira-live.c: (process_single_reg_class_operands): Call
968 ira_init_register_move_cost_if_necessary. Use
969 ira_register_move_cost instead of ira_get_register_move_cost.
970
971 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
972
973 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
974
975 * ira-costs.c: Fix formatting.
976 (cost_classes, cost_classes_num): Remove.
977 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
978 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
979 (cost_classes_del, cost_classes_htab): New.
980 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
981 (initiate_regno_cost_classes, setup_cost_classes): New.
982 (setup_regno_cost_classes_by_aclass): New.
7a81008b 983 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
984 (record_reg_classes): Use regno_cost_classes instead of
985 cost_classes. Move checking opposite operand up.
986 (record_address_regs): Use regno_cost_classes
987 instead of cost_classes.
988 (scan_one_insn): Ditto. Use always general register.
989 (print_allocno_costs): Use regno_cost_classes instead of
990 cost_classes.
991 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
992 (find_costs_and_classes): Set up cost classes for each registers.
993 Use also their mode for this. Use regno_cost_classes instead of
994 cost_classes.
995 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
996 cost_classes.
997 (free_ira_costs, ira_init_costs): Don't use cost_classes.
998 (ira_costs, ira_set_pseudo_classes): Call
999 initiate_regno_cost_classes and finish_regno_cost_classes.
1000
1001 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
1002
1003 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
1004
1005 * target.def (ira_cover_classes): Remove.
1006
7a81008b 1007 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
1008
1009 * doc/tm.texi.in: Ditto.
1010
1011 * ira-conflicts.c: Remove mentioning cover classes from the file.
1012 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 1013 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
1014
1015 * targhooks.c (default_ira_cover_classes): Remove.
1016
1017 * targhooks.h (default_ira_cover_classes): Ditto.
1018
1019 * haifa-sched.c: Remove mentioning cover classes from the file.
1020 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
1021 ira_pressure_classes and ira_pressure_classes_num instead of
1022 ira_reg_class_cover_size and ira_reg_class_cover. Use
1023 sched_regno_pressure_class instead of sched_regno_cover_class.
1024 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
1025 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1026
1027 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
1028 classes from the file.
1029 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
1030 (struct object_hard_regs, struct object_hard_regs_node): New.
1031 (struct ira_object): New members profitable_hard_regs,
1032 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
1033 (struct ira_allocno): Rename cover_class to aclass. Rename
1034 cover_class_cost and updated_cover_class_cost to class_cost and
1035 updated_class_cost. Remove splay_removed_p and
1036 left_conflict_size. Add new members colorable_p.
1037 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
1038 (ALLOCNO_COLORABLE_P): New macro.
1039 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
1040 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
1041 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
1042 (OBJECT_...): Rename parameter C to O.
1043 (OBJECT_PROFITABLE_HARD_REGS): New macro.
1044 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
1045 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
1046 (struct target_ira_int): New members x_ira_max_memory_move_cost,
1047 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
1048 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
1049 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
1050 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
1051 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
1052 x_ira_reg_class_subunion.
1053 (ira_max_memory_move_cost, ira_max_register_move_cost)
1054 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
1055 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
1056 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 1057 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
1058 (ira_reg_class_union): Rename to ira_reg_class_subunion.
1059 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
1060 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
1061 (ira_tune_allocno_costs_and_cover_classes): Rename to
1062 ira_tune_allocno_costs.
1063 (ira_debug_hard_regs_forest): New.
1064 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
1065 (ira_object_conflict_iter_next): Fix comments.
7a81008b 1066 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
1067 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
1068 cover_class to aclass.
1069 (ira_allocate_and_accumulate_costs): Ditto.
1070 (ira_allocate_and_set_or_copy_costs): Ditto.
1071
1072 * opts.c (decode_options): Remove ira_cover_class check.
1073
1074 * ira-color.c: Remove mentioning cover classes from the file. Use
1075 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
1076 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
1077 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
1078 (splay-tree.h): Remove include.
1079 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
1080 before copy_freq_compare_func.
1081 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
1082 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
1083 New definitions.
1084 (hard_regs_roots, hard_regs_node_vec): Ditto.
1085 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
1086 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
1087 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
1088 (create_new_object_hard_regs_node): Ditto.
1089 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 1090 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
1091 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
1092 Ditto.
1093 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
1094 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
1095 (remove_unused_object_hard_regs_nodes): Ditto.
1096 (enumerate_object_hard_regs_nodes): Ditto.
1097 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
1098 (object_hard_regs_subnode_t): Ditto.
1099 (struct object_hard_regs_subnode): Ditto.
1100 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
1101 (setup_object_hard_regs_subnode_index): Ditto.
1102 (get_object_hard_regs_subnodes_num): Ditto.
1103 (form_object_hard_regs_nodes_forest): Ditto.
1104 (finish_object_hard_regs_nodes_tree): Ditto.
1105 (finish_object_hard_regs_nodes_forest): Ditto.
1106 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 1107 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
1108 (pseudos_have_intersected_live_ranges_p): Rename to
1109 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1110 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
1111 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
1112 (update_copy_costs): Remove assert. Skip cost update if the hard
1113 reg does not belong the class.
1114 (assign_hard_reg): Process only profitable hard regs.
1115 (uncolorable_allocnos_num): Make it scalar.
1116 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
1117 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
1118 and ira_reg_class_max_nregs.
1119 (bucket_allocno_compare_func): Check frequency first.
1120 (sort_bucket): Add compare function as a parameter.
1121 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
1122 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
1123 (push_allocno_to_stack): Rewrite for checking new allocno
1124 colorability.
7a81008b 1125 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
1126 (push_only_colorable): Pass new parameter to sort_bucket.
1127 (push_allocno_to_spill): Remove.
1128 (allocno_spill_priority_compare): Make it inline and rewrite.
1129 (splay_tree_allocate, splay_tree_free): Remove.
1130 (allocno_spill_sort_compare): New function.
1131 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
1132 build and use splay tree. Choose first allocno in uncolorable
1133 allocno bucket to spill. Remove setting spill cost.
1134 (all_conflicting_hard_regs): Remove.
1135 (setup_allocno_available_regs_num): Check only profitable hard
1136 regs. Print info about hard regs nodes.
1137 (setup_allocno_left_conflicts_size): Remove.
1138 (put_allocno_into_bucket): Don't call
7a81008b 1139 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
1140 (improve_allocation): New.
1141 (color_allocnos): Call setup_profitable_hard_regs,
1142 form_object_hard_regs_nodes_forest, improve_allocation,
1143 finish_object_hard_regs_nodes_forest. Setup spill cost.
1144 (print_loop_title): Use pressure classes.
1145 (color_allocnso): Ditto.
1146 (do_coloring): Remove allocation and freeing splay_tree_node_pool
1147 and allocnos_for_spilling.
1148 (ira_sort_regnos_for_alter_reg): Don't setup members
1149 {first,next}_coalesced_allocno.
1150 (color): Remove allocating and freeing removed_splay_allocno_vec.
1151 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
1152 prohibited_class_mode_regs.
1153
1154 * ira-lives.c: Remove mentioning cover classes from the file. Fix
1155 formatting.
1156 (update_allocno_pressure_excess_length): Use pressure classes.
1157 (inc_register_pressure, dec_register_pressure): Check for pressure
1158 class.
1159 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
1160 pressure class. Use ira_reg_class_nregs instead of
1161 ira_reg_class_max_nregs.
1162 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
1163 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
1164 (single_reg_class): Use ira_reg_class_nregs instead of
1165 ira_reg_class_max_nregs.
1166 (process_bb_node_lives): Use pressure classes.
1167
1168 * ira-emit.c: Remove mentioning cover classes from the file. Use
1169 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
1170 (change_loop): Use pressure classes.
1171 (modify_move_list): Call ira_set_allocno_class instead of
1172 ira_set_allocno_cover_class.
1173
1174 * ira-build.c: Remove mentioning cover classes from the file. Use
1175 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
1176 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
1177 ALLOCNO_UPDATED_CLASS_COST instead of
1178 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
1179 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
1180 (ira_create_allocno): Remove initialization of
1181 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
1182 ALLOCNO_COLORABLE_P.
1183 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
1184 Update conflict regs for the objects.
1185 (create_cap_allocno): Remove assert. Don't propagate
1186 ALLOCNO_AVAILABLE_REGS_NUM.
1187 (ira_free_allocno_costs): New function.
1188 (finish_allocno): Change a part of code into call of
1189 ira_free_allocno_costs.
1190 (low_pressure_loop_node_p): Use pressure classes.
1191 (object_range_compare_func): Don't compare classes.
1192 (setup_min_max_conflict_allocno_ids): Ditto.
1193
1194 * loop-invariant.c: Remove mentioning cover classes from the file.
1195 Use ira_pressure_classes and ira_pressure_classes_num instead of
1196 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
1197 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
1198 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1199 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
1200 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
1201 STACK_REG_COVER_CLASS.
1202 (get_regno_cover_class): Rename to get_regno_pressure_class.
1203 (move_loop_invariants): Initialize and finalize regstat.
1204
1205 * ira.c: Remove mentioning cover classes from the file. Add
1206 comments about coloring without cover classes. Use ALLOCNO_CLASS
1207 instead of ALLOCNO_COVER_CLASS. Fix formatting.
1208 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
1209 setup_class_subset_and_memory_move_costs.
1210 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
1211 (setup_cover_and_important_classes): Rename to
1212 setup_allocno_and_important_classes.
1213 (setup_class_translate_array): New.
1214 (setup_class_translate): Call it for allocno and pressure classes.
1215 (cover_class_order): Rename to allocno_class_order.
1216 (comp_reg_classes_func): Use ira_allocno_class_translate instead
1217 of ira_class_translate.
1218 (reorder_important_classes): Set up ira_important_class_nums.
1219 (setup_reg_class_relations): Set up ira_reg_class_superunion.
1220 (print_class_cover): Rename to print_classes. Add parameter.
1221 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
1222 Print pressure classes too.
1223 (find_reg_class_closure): Rename to find_reg_classes. Don't call
1224 setup_reg_subclasses.
7a81008b 1225 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
1226 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
1227 (setup_prohibited_class_mode_regs): Use
7a81008b 1228 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
1229 (clarify_prohibited_class_mode_regs): New function.
1230 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
1231 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
1232 (ira_init_once): Initialize them.
1233 (free_register_move_costs): Process them.
1234 (ira_init): Move calls of find_reg_classes and
1235 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
1236 Call clarify_prohibited_class_mode_regs.
1237 (ira_no_alloc_reg): Remove.
1238 (too_high_register_pressure_p): Use pressure classes.
1239
1240 * sched-deps.c: Remove mentioning cover classes from the file.
1241 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
1242 ira_pressure_classes and ira_pressure_classes_num instead of
1243 ira_reg_class_cover_size and ira_reg_class_cover.
1244 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
1245 sched_regno_pressure_class instead of sched_regno_cover_class.
1246 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
1247 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
1248
1249 * ira.h: Add 2010 to Copyright.
1250 (ira_no_alloc_reg): Remove external.
1251 (struct target_ira): Rename x_ira_hard_regno_cover_class,
1252 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
1253 x_ira_class_translate to x_ira_hard_regno_allocno_class,
1254 x_ira_allocno_classes_num, x_ira_allocno_classes, and
1255 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
1256 x_ira_pressure_classes, x_ira_pressure_class_translate, and
1257 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
1258 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
1259 x_ira_no_alloc_regs.
7a81008b 1260 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
1261 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
1262 ira_allocno_classes_num and ira_allocno_classes.
1263 (ira_class_translate): Rename to ira_allocno_class_translate.
1264 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
1265 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
1266 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
1267 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
1268 (ira_no_alloc_regs): New.
1269
1270 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
1271 classes from the file. Use ALLOCNO_CLASS instead of
1272 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
1273 ALLOCNO_COVER_CLASS_COST.
1274 (regno_cover_class): Rename to regno_aclass.
1275 (record_reg_classes): Use ira_reg_class_subunion instead of
1276 ira_reg_class_union.
1277 (record_address_regs): Check overflow.
1278 (scan_one_insn): Ditto.
7a81008b 1279 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
1280 (print_pseudo_costs): Use REG_N_REFS.
1281 (find_costs_and_classes): Use classes intersected with them on the
1282 1st pass. Check overflow. Use ira_reg_class_subunion instead of
1283 ira_reg_class_union. Use ira_allocno_class_translate and
1284 regno_aclass instead of ira_class_translate and regno_cover_class.
1285 Modify code for finding regno_aclass. Setup preferred classes for
1286 the next pass.
1287 (setup_allocno_cover_class_and_costs): Rename to
1288 setup_allocno_class_and_costs. Use regno_aclass instead of
1289 regno_cover_class. Use ira_set_allocno_class instead of
1290 ira_set_allocno_cover_class.
1291 (init_costs, finish_costs): Use regno_aclass instead of
1292 regno_cover_class.
1293 (ira_costs): Use setup_allocno_class_and_costs instead of
1294 setup_allocno_cover_class_and_costs.
1295 (ira_tune_allocno_costs_and_cover_classes): Rename to
1296 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
1297 by processing objects. Use ira_reg_class_max_nregs instead of
1298 ira_reg_class_nregs.
1299
1300 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
1301
1302 * sched-int.h: Remove mentioning cover classes from the file.
1303 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
1304
1305 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
1306 classes from the file.
1307 (struct reg_pref): Rename coverclass into allocnoclass.
1308 (reg_cover_class): Rename to reg_allocno_class.
1309
7a81008b 1310 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
1311
1312 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
1313
1314 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
1315
1316 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
1317
1318 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
1319
1320 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
1321
1322 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
1323
1324 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
1325
1326 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
1327
1328 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
1329
1330 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
1331 (i386_ira_cover_classes): Ditto.
1332
1333 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
1334
1335 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
1336
1337 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
1338
1339 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
1340
1341 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
1342
1343 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
1344
1345 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
1346 (mips_ira_cover_classes): Ditto.
1347
1348 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
1349
1350 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
1351
1352 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
1353
1354 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
1355
1356 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
1357
1358 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
1359 (IRA_COVER_CLASSES_VSX): Ditto.
1360
1361 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
1362 (rs6000_ira_cover_classes): Ditto.
1363
1364 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
1365
1366 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
1367
1368 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
1369
1370 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
1371
1372 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
1373
1374 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
1375
1376 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
1377
1378 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
1379
1380 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
1381
1382 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
1383
2b80199f
JJ
13842011-03-29 Jakub Jelinek <jakub@redhat.com>
1385
71dae1fe
JJ
1386 PR debug/48253
1387 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
1388 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
1389 dw_fde_unlikely_section_end_label, cold_in_std_section,
1390 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
1391 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
1392 fields.
1393 (output_fde): Use dw_fde_second_{begin,end} if second is
1394 true, otherwise dw_fde_{begin,end}.
1395 (output_call_frame_info): Test dw_fde_second_begin != NULL
1396 instead of dw_fde_switched_sections.
1397 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
1398 fields, initialize new fields. Initialize in_std_section
1399 unconditionally from the first partition.
1400 (dwarf2out_end_epilogue): Don't override dw_fde_end when
1401 dw_fde_second_begin is non-NULL.
1402 (dwarf2out_switch_text_section): Stop initializing removed
1403 dw_fde_struct fields, initialize new fields, initialize
1404 also dw_fde_end here. Set dw_fde_switch_cfi even when
1405 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
1406 (struct var_loc_list_def): Add last_before_switch field.
1407 (arange_table, arange_table_allocated, arange_table_in_use,
1408 ARANGE_TABLE_INCREMENT, add_arange): Removed.
1409 (size_of_aranges): Count !in_std_section and !second_in_std_section
1410 hunks in fdes, instead of looking at arange_table_in_use.
1411 (output_aranges): Add aranges_length argument, don't call
1412 size_of_aranges here. Instead of using aranges_table*
1413 emit ranges for fdes when !in_std_section resp.
1414 !second_in_std_section.
1415 (dw_loc_list): Break ranges crossing section switch.
1416 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 1417 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
1418 (gen_subprogram_die): Don't call add_arange. Use
1419 dw_fde_{begin,end} for first partition and if switched
1420 section dw_fde_second_{begin,end} for the second.
1421 (var_location_switch_text_section_1,
1422 var_location_switch_text_section): New functions.
1423 (dwarf2out_begin_function): Initialize cold_text_section even
1424 when function_section () isn't text_section.
1425 (prune_unused_types): Don't walk arange_table.
1426 (dwarf2out_finish): Don't needlessly test
1427 flag_reorder_blocks_and_partition when testing cold_text_section_used.
1428 If info_section_emitted, call size_of_aranges and if it indicates
1429 non-empty .debug_aranges, call output_aranges with the computed
1430 size. Stop using removed dw_fde_struct fields, use
1431 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
1432 for second.
1433
2b80199f
JJ
1434 PR debug/48203
1435 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
1436 create ENTRY_VALUE if incoming or address of incoming's MEM
1437 is a hard REG.
1438 * dwarf2out.c (mem_loc_descriptor): Don't emit
1439 DW_OP_GNU_entry_value of DW_OP_fbreg.
1440 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
1441 on ENTRY_VALUE is able to find the canonical parameter VALUE.
1442 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
1443 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
1444 ENTRY_VALUE_EXPs.
1445 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
1446 is a REG_P or MEM_P with REG_P address, compute hash directly
1447 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
1448 (preserve_only_constants): Don't clear VALUES forwaring
1449 ENTRY_VALUE to some other VALUE.
1450
8a445129
RS
14512011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
1452
1453 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
1454 instead of GEN_INT.
1455
c82fee88
EB
14562011-03-28 Eric Botcazou <ebotcazou@adacore.com>
1457
1458 * cfgexpand.c (expand_gimple_cond): Always set the source location and
1459 block before expanding the statement.
1460 (expand_gimple_stmt_1): Likewise. Set them here...
1461 (expand_gimple_stmt): ...and not here. Tidy.
1462 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
1463 unknown.
1464
e45425ec
SB
14652011-03-28 Steven Bosscher <steven@gcc.gnu.org>
1466
1467 * Makefile.in: New rule for cprop.o.
1468 * gcse.c: Move constant/copy propagation to cprop.c.
1469 (compute_local_properties): Only handle expression tables.
1470 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
1471 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
1472 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
1473 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 1474 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
1475 compute_cprop_data, find_used_regs, try_replace_reg,
1476 find_avail_set, cprop_jump, constprop_register, cprop_insn,
1477 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
1478 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
1479 find_bypass_set, reg_killed_on_edge, bypass_block,
1480 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
1481 execute_rtl_cprop, pass_rtl_cprop): Move to...
1482 * cprop.c: ...here. New file, constant/copy propagation for RTL
1483 moved from gcse.c to here with minor cleanups in duplicated code.
1484
c09d5426
L
14852011-03-28 H.J. Lu <hongjiu.lu@intel.com>
1486
1487 * config/i386/i386.c (flag_opts): Fix a typo in
1488 -mavx256-split-unaligned-store.
1489
9eaa7740
AS
14902011-03-28 Anatoly Sokolov <aesok@post.ru>
1491
1492 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
1493 LIBCALL_VALUE): Remove macros.
1494 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1495 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1496 (h8300_function_value, h8300_libcall_value,
1497 h8300_function_value_regno_p): New functions.
1498
dcec2be2
AS
14992011-03-28 Anatoly Sokolov <aesok@post.ru>
1500
1501 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
1502
520af9ec
JL
15032011-03-28 Jeff Law <law@redhat.com>
1504
1505 * tree-ssa-threadupdate.c (redirect_edges): Call
1506 create_edge_and_update_destination_phis as needed.
1507 (create_edge_and_update_destination_phis): Accept new BB argument.
1508 All callers updated.
1509 (thread_block): Do not update the profile when threading around
1510 intermediate blocks.
1511 (thread_single_edge): Likewise.
1512 (determine_bb_domination_status): If BB is not a successor of the
1513 loop header, return NONDOMINATING.
1514 (register_jump_thread): Note when we register a jump thread around
1515 an intermediate block.
1516 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
1517 (thread_across_edge): Use it.
1518
7450b54f
TG
15192011-03-28 Tristan Gingold <gingold@adacore.com>
1520
1521 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
1522 when for_return is 2.
1523
649beb33
JL
15242011-03-28 Jeff Law <law@redhat.com>
1525
1526 * var-tracking.c (canonicalize_values_mark): Delete unused
1527 lhs assignment.
1528 (canonicalize_values_star, set_variable_part): Likewise.
1529 (clobber_variable_part, delete_variable_part): Likewise.
1530
d5b8da97
SB
15312011-03-28 Steven Bosscher <steven@gcc.gnu.org>
1532
1533 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
1534
322dd859
MJ
15352011-03-28 Martin Jambor <mjambor@suse.cz>
1536
1537 * tree-inline.c (expand_call_inline): Do not check that destination
1538 node is analyzed.
1539 (optimize_inline_calls): Assert that destination node is analyzed.
1540 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
1541 not call tree_lowering_passes.
1542 * cgraph.h (cgraph_analyze_function): Declare.
1543 * cgraphunit.c (cgraph_analyze_function): Make public.
1544
aa53e58b
JM
15452011-03-28 Joseph Myers <joseph@codesourcery.com>
1546
1547 * config/sparc/sparc-opts.h: New.
1548 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
1549 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
1550 (sparc_option_override): Store processor_type enumeration rather
1551 than string in cpu_default. Remove name and enumeration from
1552 cpu_table. Directly default -mcpu then default -mtune from -mcpu
1553 without using sparc_select. Use target_flags_explicit instead of
1554 fpu_option_set.
1555 * config/sparc/sparc.h (enum processor_type): Move to
1556 sparc-opts.h.
1557 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
1558 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
1559 HeaderInclude entry.
1560 (mcpu=, mtune=): Use Var and Enum.
1561 (sparc_processor_type): New Enum and EnumValue entries.
1562
dd350eba
RO
15632011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1564 Iain Sandoe <iains@gcc.gnu.org>
1565
1566 PR target/48245
1567 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
1568
1b29f05e
EB
15692011-03-28 Eric Botcazou <ebotcazou@adacore.com>
1570
1571 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
1572 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
1573 Insert new statements at it in lieu of STMT.
1574 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
1575 * tree-vect-stmts.c (vectorizable_store): Likewise.
1576 (vectorizable_load): Likewise.
1577
506e6808
UB
15782011-03-28 Uros Bizjak <ubizjak@gmail.com>
1579
1580 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
1581 (divtf3): Ditto.
1582 (multf3): Ditto.
1583 (subtf3): Ditto.
1584
2e939ee9
L
15852011-03-27 H.J. Lu <hongjiu.lu@intel.com>
1586
1587 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
1588 unaligned 256bit load/store.
1589 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
1590 (*avx_movdqu<avxmodesuffix>): Likewise.
1591
5e85ab88
JDA
15922011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1593
1594 PR target/48288
1595 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
1596 * config/pa/pa.md (iordi3): Use new predicate in expander.
1597 (iorsi3): Likewise.
1598
47be3d6d
AS
15992011-03-27 Anatoly Sokolov <aesok@post.ru>
1600
506e6808 1601 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 1602 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
1603 * config/mips/mips-protos.h (mips_function_value): Remove.
1604 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
1605 (mips_function_value_1): ... this. Make static. Handle receiving
1606 the function type in 'fn_decl_or_type' argument.
1607 (mips_function_value, mips_libcall_value,
1608 mips_function_value_regno_p): New function.
1609 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
1610 TARGET_FUNCTION_VALUE_REGNO_P): Define.
1611
d253656a
L
16122011-03-27 H.J. Lu <hongjiu.lu@intel.com>
1613
1614 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
1615 and -mavx256-split-unaligned-store.
1616 (ix86_option_override_internal): Split 32-byte AVX unaligned
1617 load/store by default.
1618 (ix86_avx256_split_vector_move_misalign): New.
1619 (ix86_expand_vector_move_misalign): Use it.
1620
1621 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
1622 -mavx256-split-unaligned-store.
1623
1624 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
1625 256bit load/store. Generate unaligned store on misaligned memory
1626 operand.
1627 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
1628 256bit load/store.
1629 (*avx_movdqu<avxmodesuffix>): Likewise.
1630
1631 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
1632 -mavx256-split-unaligned-store.
1633
1ea9206a
RS
16342011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
1635
1636 PR target/38598
1637 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
1638 Update commentary.
1639
b99ce2a8
RS
16402011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
1641
1642 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
1643 opno arguments with an expand_operand. Use create_input_operand.
1644 (mips_prepare_builtin_target): Delete.
1645 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
1646 functions.
1647 (mips_expand_builtin_direct): Use create_output_operand and
1648 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
1649 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
1650 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
1651
69d52339
IR
16522011-03-27 Ira Rosen <ira.rosen@linaro.org>
1653
1654 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
1655 function.
1656 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1657
ba5e9aca
EB
16582011-03-26 Eric Botcazou <ebotcazou@adacore.com>
1659
1660 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
1661 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
1662 basic blocks and call commit_edge_insertions directly.
1663 (fixup_abnormal_edges): Move from here to...
1664 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
1665 on the edges and return whether some have actually been inserted.
1666 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
1667 compensation code.
1668
5d369d58
AB
16692011-03-26 Andrey Belevantsev <abel@ispras.ru>
1670
1671 PR rtl-optimization/48144
1672 * sel-sched-ir.c (merge_history_vect): Factor out from ...
1673 (merge_expr_data): ... here.
1674 (av_set_intersect): Rename to av_set_code_motion_filter.
1675 Update all callers. Call merge_history_vect when an expression
1676 is found in both sets.
1677 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
1678
f082c000
AM
16792011-03-26 Alan Modra <amodra@gmail.com>
1680
1681 * config/rs6000/predicates.md (word_offset_memref_op): Handle
1682 cmodel medium addresses.
1683 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
1684 64-bit gpr loads and stores.
1685 (rs6000_secondary_reload_ppc64): New function.
1686 * config/rs6000/rs6000-protos.h: Declare it.
1687 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
1688
8ac5e12e
AM
16892011-03-26 Alan Modra <amodra@gmail.com>
1690
1691 PR target/47487
1692 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
1693 GNU Go in traceback table.
1694
c2654ded
RH
16952011-03-25 Richard Henderson <rth@redhat.com>
1696
1697 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
1698 if there are exactly 6 operands.
1699 (set_storage_via_setmem): Similarly.
1700
ba78087b
KT
17012011-03-25 Kai Tietz <ktietz@redhat.com>
1702
1703 * collect2.c (write_c_file_stat): Handle backslash
1704 as right-hand directory separator.
1705 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
1706 checking just for slash.
1707 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
1708 instead of checking for trailing slash.
1709 * gcc.c (record_temp_file): Use filename_cmp instead
1710 of strcmp.
1711 (do_spec_1): Likewise.
1712 (replace_outfile_spec_function): Likewise.
1713 (is_directory): Use filename_ncmp instead of strncmp.
1714 (print_multilib_info): Likewise.
1715 * gcov.c (find_source): Use filename_cmp instead
1716 instead of strcmp.
1717 (make_gcov_file_name): Fix order of slash/backslash
1718 checks.
1719 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
1720 (add_standard_paths): Likewise.
1721 * mips-tfile.c (saber_stop): Handle backslash.
1722 * prefix.c (update_path): Use filename_ncmp instead of
1723 strncmp.
1724 * profile.c (output_location): Use filename_cmp instead
1725 of strcmp.
1726 * read-md.c (handle_toplevel_file): Handle backslash.
1727 * tlink.c (frob_extension): Likewise.
1728 * tree-cfg.c (same_line_p): Use filename_cmp instead of
1729 strcmp.
1730 * tree-dump.c (dequeue_and_dump): Handle backslash.
1731 * tree.c (get_file_function_name): Likewise.
1732 * gengtype.c (read_input_list): Likewise.
1733 (get_file_realbasename): Likewise.
1734 (get_output_file_with_visibility): Use filename_cmp
1735 instead of strcmp.
1736
75f6ec9a
RS
17372011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
1738
1739 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
1740 case to VFPv1.
1741
6c4e2997
NF
17422011-03-25 Nathan Froyd <froydnj@codesourcery.com>
1743
1744 * fold-const.c (expr_location_or): New function.
1745 (fold_truth_not_expr): Call it.
1746
0edf1bb2
JL
17472011-03-25 Jeff Law <law@redhat.com>
1748
1749 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
1750 va_end.
1751 * c-family/c-common.c (def_fn_type): Likewise.
1752 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
1753 * emit-rtl.c (gen_rtvec): Likewise.
1754 * lto/lto-lang.c (def_fn_type): Likewise.
1755
fdc2de95
RG
17562011-03-25 Richard Guenther <rguenther@suse.de>
1757
1758 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
1759 also generate copies.
1760 (fini_copy_prop): Handle constant values properly.
1761
21385db0
JJ
17622011-03-25 Jakub Jelinek <jakub@redhat.com>
1763
1764 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
1765 mode size instead of bitsize with DWARF2_ADDR_SIZE.
1766 (hash_loc_operands, compare_loc_operands): Handle
1767 DW_OP_GNU_entry_value.
1768
6510e8bb
KT
17692011-03-25 Kai Tietz <ktietz@redhat.com>
1770
1771 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
1772 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
1773 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
1774 comment and use macro TARGET_64BIT_MS_ABI instead.
1775 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
1776 and change default behavior for 32-bit MS_ABI.
1777 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
1778 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
1779 32-bit, too.
1780 (ix86_cfun_abi): Likewise.
1781 (ix86_maybe_switch_abi): Adjust comment.
1782 (init_cumulative_args): Check for bit-ness in MS_ABI case.
1783 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
1784 instead of checking for SYSV_ABI.
1785 (ix86_nsaved_sseregs): Likewise.
1786 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
1787 to 16 bytes.
1788 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
1789 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
1790 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
1791 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
1792 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
1793
34019e28
RG
17942011-03-25 Richard Guenther <rguenther@suse.de>
1795
1796 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
1797 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
1798 (verify_gimple): Remove.
1799 * tree-cfg.c (verify_gimple_call): Merge verification
1800 from verify_stmts.
1801 (verify_gimple_phi): Merge verification from verify_stmts.
1802 (verify_gimple_label): New function.
1803 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
1804 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
1805 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
1806 (verify_stmts): Rename to verify_gimple_in_cfg.
1807 (verify_gimple_in_cfg): New function.
1808 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
1809 * tree-ssa.c (verify_ssa): Likewise.
1810 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
1811
605896f5
RG
18122011-03-25 Richard Guenther <rguenther@suse.de>
1813
1814 * passes.c (init_optimization_passes): Add FRE pass after
1815 early SRA.
1816
7baa7c13
BS
18172011-03-25 Bernd Schmidt <bernds@codesourcery.com>
1818 Andrew Stubbs <ams@codesourcery.com>
1819
1820 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
1821 for Cortex-A8.
1822 (arm_movdi_vfp_cortexa8): New pattern.
1823 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
1824 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
1825 instructions when tuning for Cortex-A8. Set attribute "arch".
1826 * config/arm/arm.md: Move include arm-tune.md up a bit.
1827 (define_attr "arch"): Add "onlya8" and "nota8" values.
1828 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
1829
45dbce1b
NF
18302011-03-25 Nathan Froyd <froydnj@codesourcery.com>
1831
4ff08abf 1832 PR bootstrap/48282
45dbce1b
NF
1833 Revert:
1834 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1835
1836 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
1837 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
1838 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
1839 * passes.c (init_optimization_passes): Move
1840 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
1841
ac9a30ae
KT
18422011-03-25 Kai Tietz <ktietz@redhat.com>
1843
1844 * c-typeck.c (comptypes_internal): Replace target
1845 hook call of comp_type_attributes by version in tree.c file.
1846 * gimple.c (gimple_types_compatible_p_1): Likewise.
1847 * tree-ssa.c (useless_type_conversion_p): Likewise.
1848 * tree.c (build_type_attribute_qual_variant): Likewise.
1849 (attribute_value_equal): New static helper function.
1850 (comp_type_attributes): New function.
1851 (merge_attributes): Use attribute_value_equal for comparison.
1852 (attribute_list_contained): Likewise.
1853 * tree.h (comp_type_attributes): New prototype.
1854
afdac116
RG
18552011-03-25 Richard Guenther <rguenther@suse.de>
1856
1857 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
1858 of complex types at -O0.
1859 (verify_gimple_assign_binary): Likewise.
1860 (verify_gimple_assign_ternary): Likewise.
1861
ec6165f8
MW
18622011-03-24 Mark Wielaard <mjw@redhat.com>
1863
1864 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
1865 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
1866
2a5ac39a
MW
18672011-03-24 Mark Wielaard <mjw@redhat.com>
1868
1869 PR debug/48041
1870 * dwarf2out.c (output_abbrev_section): Only write table when
1871 abbrev_die_table_in_use > 1.
1872
e533b2a4
RH
18732011-02-24 Richard Henderson <rth@redhat.com>
1874
1875 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
1876 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
1877 (alpha_expand_unaligned_load_words): Use extql.
1878 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
1879 (emit_insxl): Handle all modes for consistency.
1880
0b2a7367
RH
18812011-02-24 Richard Henderson <rth@redhat.com>
1882
1883 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
1884 (alpha_expand_unaligned_load): Likewise.
1885 (alpha_expand_unaligned_store): Likewise.
1886 (alpha_expand_unaligned_load_words): Likewise.
1887 (alpha_expand_unaligned_store_words): Likewise.
1888 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
1889 (alpha_split_lock_test_and_set_12): Likewise.
1890 (print_operand, alpha_fold_builtin_extxx): Likewise.
1891 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
1892 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
1893 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
1894 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
1895 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
1896 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
1897 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
1898 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
1899 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
1900 (extwl, extll, extql): Similarly.
1901 (inswh, inslh, insqh): Similarly.
1902 (mskbl, mskwl, mskll, mskql): Similarly.
1903 (mskwh, msklh, mskqh): Similarly.
1904
315b2bef
RH
19052011-02-24 Richard Henderson <rth@redhat.com>
1906
1907 * config/alpha/alpha.md (attribute isa): Add er, ner.
1908 (attribute enabled): Handle them.
1909 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
1910
67102517
RH
19112011-02-24 Richard Henderson <rth@redhat.com>
1912
1913 * config/alpha/alpha.md (attribute isa): Add vms.
1914 (attribute enabled): Handle it.
1915 (*movsf): Merge *movsf_{nofix,fix,nofp}.
1916 (*movdf): Merge *movdf_{nofix,fix,nofp}.
1917 (*movtf): Rename from *movtf_internal for consistency.
1918 (*movsi): Merge with *movsi_nt_vms.
1919 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
1920 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
1921 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
1922 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
1923
6aba5cb4
RH
19242011-02-24 Richard Henderson <rth@redhat.com>
1925
1926 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
1927 (extendqisi2, extendhisi2): Likewise.
1928 (extendqidi2): Simplify BWX/non-BWX expansions.
1929 (extendhidi2): Similarly.
1930
bdfb351b
RH
19312011-02-24 Richard Henderson <rth@redhat.com>
1932
1933 * config/alpha/alpha.md (attribute isa): New.
1934 (attribute enabled): New.
1935 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
1936 (zero_extendqisi2, zero_extendqidi2): Similarly.
1937 (zero_extendhisi2, zero_extendhidi2): Similarly.
1938 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
1939
6abe71eb
RH
19402011-02-24 Richard Henderson <rth@redhat.com>
1941
1942 * config/alpha/predicates.md (input_operand): Revert last change;
1943 update comment to mention 32-bit VMS rather than Windows.
1944
7114321e
NF
19452011-03-24 Nathan Froyd <froydnj@codesourcery.com>
1946
1947 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
1948 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
1949 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
1950 * passes.c (init_optimization_passes): Move
1951 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
1952
c8679567
EB
19532011-03-24 Eric Botcazou <ebotcazou@adacore.com>
1954
1955 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
1956
27173058
UB
19572011-03-24 Uros Bizjak <ubizjak@gmail.com>
1958
1959 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
1960 correctly.
1961
6f0c9f06
JJ
19622011-03-24 Jakub Jelinek <jakub@redhat.com>
1963
1964 PR debug/48204
1965 * simplify-rtx.c (simplify_const_unary_operation): Call
1966 real_convert when changing mode class with FLOAT_EXTEND.
1967
662666e5
NC
19682011-03-24 Nick Clifton <nickc@redhat.com>
1969
1970 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
1971 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1972 * config/rx/rx.c (rx_option_override): Set align_jumps,
1973 align_loops and align_labels if not set by the user.
1974 (rx_align_for_label): New function.
1975 (rx_max_skip_for_label): New function.
1976 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
1977 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
1978 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
1979 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
1980 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
1981
2b99b2b8
RS
19822011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
1983
1984 PR rtl-optimization/48263
1985 * optabs.c (expand_binop_directly): Reinstate convert_modes code
1986 and original commutative_p handling. Use maybe_gen_insn.
1987
ccecd6ea
AK
19882011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1989
1990 * reload.c (find_reloads_subreg_address): Add address_reloaded
1991 parameter and return true there if the full address has been
1992 reloaded.
1993 (find_reloads_toplev): Pass address_reloaded flag.
1994 (find_reloads_address_1): Don't use address_reloaded parameter.
1995
67295642
JL
19962011-03-24 Jeff Law <law@redhat.com>
1997
1998 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
1999 unused variable "ann".
2000 (remove_unused_locals): Likewise.
2001
2002 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
2003 statement.
2004
2005 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
2006 after it is freed.
2007
212aa74f
AK
20082011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2009
2010 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
2011 for invalid symbolic addresses.
2012 (s390_secondary_reload): Don't use s390_check_symref_alignment for
2013 larl operands.
2014
fe784e0d
EB
20152011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2016
2017 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
2018 the argument in calls to fold_truth_not_expr.
2019
63ee8641
NF
20202011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2021
2022 * tree.c (record_node_allocation_statistics): New function.
2023 (make_node_stat, copy_node_stat, build_string): Call it.
2024 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
2025 (build1_stat, build_omp_clause): Likewise.
2026
61be2a1c
RS
20272011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
2028
2029 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
2030 last commit.
2031
a881aaa7
RG
20322011-03-24 Richard Guenther <rguenther@suse.de>
2033
2034 PR tree-optimization/48271
2035 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
2036 blocks that still exist.
2037
dbaa912c
RG
20382011-03-24 Richard Guenther <rguenther@suse.de>
2039
2040 PR tree-optimization/48270
2041 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
2042 not free datarefs before ddrs.
2043
1d60cc55
EB
20442011-03-24 Eric Botcazou <ebotcazou@adacore.com>
2045
2046 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
2047 from the address built for a reference with variable offset.
2048
c78dd519
UB
20492011-03-24 Uros Bizjak <ubizjak@gmail.com>
2050
2051 PR target/48237
2052 * config/i386/i386.md (*movdf_internal_rex64): Do not split
2053 alternatives that can be handled with movq or movabsq insn.
2054 (*movdf_internal): Disable for !TARGET_64BIT.
2055 (*movdf_internal_nointeger): Ditto.
2056 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
2057
b25b9e8f
NF
20582011-03-24 Nathan Froyd <froydnj@codesourcery.com>
2059
2060 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
2061 (FUNCTION_ARG_ADVANCE): Likewise.
2062 * tm.texi.in: Change references to them to hook references.
2063 * tm.texi: Regenerate.
c78dd519 2064 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
2065 (default_function_incoming_arg): Likewise.
2066 (default_function_arg_advance): Likewise.
c78dd519 2067 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
2068 (function_arg_advance): Likewise.
2069 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
2070
190b2187
RG
20712011-03-24 Richard Guenther <rguenther@suse.de>
2072
2073 PR middle-end/48269
2074 * tree-object-size.c (addr_object_size): Do not double-account
2075 for MEM_REF offsets.
2076
a183b5c7
DN
20772011-03-24 Diego Novillo <dnovillo@google.com>
2078
2079 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 2080 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
2081 (lto_input_data_block): Move from lto-opts.c. Make extern.
2082 Update all users.
2083 (lto_input_string): Rename from input_string. Make extern.
2084 Update all users.
2085 * lto-streamer-out.c (lto_output_string_with_length): Rename from
2086 output_string_with_length.
2087 Output 0 to indicate a non-NULL string. Update all callers to
2088 not emit 0.
2089 (lto_output_string): Rename from output_string. Make extern.
2090 Update all users.
2091 (lto_output_decl_state_streams): Make extern.
2092 (lto_output_decl_state_refs): Make extern.
2093 * lto-streamer.h (lto_input_string): Declare.
2094 (lto_input_data_block): Declare.
2095 (lto_output_string): Declare.
2096 (lto_output_string_with_length): Declare.
2097 (lto_output_decl_state_streams): Declare.
2098 (lto_output_decl_state_refs): Declare.
2099
cfef45c8
RG
21002011-03-24 Richard Guenther <rguenther@suse.de>
2101
2102 PR tree-optimization/46562
2103 * tree.c (build_invariant_address): New function.
2104 * tree.h (build_invariant_address): Declare.
2105 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
2106 a renamed function moved ...
2107 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
2108 Take valueization callback parameter.
2109 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
2110 * gimple-fold.h: New file.
2111 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
2112 (ccp_fold, fold_const_aggregate_ref,
2113 fold_ctor_reference, fold_nonarray_ctor_reference,
2114 fold_array_ctor_reference, fold_string_cst_ctor_reference,
2115 get_base_constructor): Move ...
2116 * gimple-fold.c: ... here.
2117 (gimple_fold_stmt_to_constant_1): New function
2118 split out from ccp_fold. Take a valueization callback parameter.
2119 Valueize all operands.
2120 (gimple_fold_stmt_to_constant): New wrapper function.
2121 (fold_const_aggregate_ref_1): New function split out from
2122 fold_const_aggregate_ref. Take a valueization callback parameter.
2123 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
2124 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
2125 invariant POINTER_PLUS_EXPRs to invariant form.
2126 (vn_valueize): New function.
2127 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
2128 * tree-vrp.c (vrp_valueize): New function.
2129 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
2130 to fold statements to constants.
2131 * tree-ssa-pre.c (eliminate): Properly guard propagation of
2132 function declarations.
2133 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
2134 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
2135
5e0a7e40
RS
21362011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
2137
2138 * config/h8300/predicates.md (jump_address_operand): Fix register
2139 mode check.
2140
bfe068c3
IR
21412011-03-24 Ira Rosen <ira.rosen@linaro.org>
2142
2143 * doc/invoke.texi (max-stores-to-sink): Document.
2144 * params.h (MAX_STORES_TO_SINK): Define.
2145 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
2146 if either vectorization or if-conversion is disabled.
2147 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
2148 tree-vect-data-refs.c vect_equal_offsets.
2149 (dr_equal_offsets_p): New function.
2150 (find_data_references_in_bb): Remove static.
2151 * tree-data-ref.h (find_data_references_in_bb): Declare.
2152 (dr_equal_offsets_p): Likewise.
2153 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
2154 (vect_drs_dependent_in_basic_block): Update calls to
2155 vect_equal_offsets.
2156 (vect_check_interleaving): Likewise.
2157 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
2158 (cond_if_else_store_replacement): Rename to...
2159 (cond_if_else_store_replacement_1): ... this. Change arguments and
2160 documentation.
2161 (cond_if_else_store_replacement): New function.
2162 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
2163 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
2164
4908b0bf
CLT
21652011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
2166
2167 PR target/46934
2168 * config/arm/arm.md (casesi): Use the gen_int_mode() function
2169 to subtract lower bound instead of GEN_INT().
2170
2be478a2
JW
21712011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
2172
2173 PR other/48179
2174 PR other/48221
2175 PR other/48234
2176 * doc/extend.texi (Alignment): Move section to match order in TOC.
2177 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
2178 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
2179
0c617be4
JL
21802011-03-23 Jeff Law <law@redhat.com>
2181
2182 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
2183 before removing the edge.
2184
2185 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
2186 it may have been freed by redirect_branch_edge or
2187 redirect_edge_succ_nodup.
2188
58da96fe
RG
21892011-03-23 Richard Guenther <rguenther@suse.de>
2190
c78dd519 2191 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
2192 (check_va_list_escapes): Likewise.
2193 (check_all_va_list_escapes): Likewise.
2194
b8beb4d1
RG
21952011-03-23 Richard Guenther <rguenther@suse.de>
2196
2197 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
2198 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
2199 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
2200 (alias.o): Likewise.
2201 (ipa-type-escape.o): Remove.
2202 (ipa-struct-reorg.o): Likewise.
2203 (GTFILES): Remove ipa-struct-reorg.c.
2204 * alias.c: Do not include ipa-type-escape.h.
2205 * tree-ssa-alias.c: Likewise.
2206 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
2207 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
2208 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
2209 and ipa-type-escape passes.
2210 * tree-pass.h (pass_ipa_type_escape): Remove.
2211 (pass_ipa_struct_reorg): Likewise.
2212 * ipa-struct-reorg.h: Remove.
2213 * ipa-struct-reorg.c: Likewise.
2214 * ipa-type-escape.h: Likewise.
2215 * ipa-type-escape.c: Likewise.
2216 * doc/invoke.texi (-fipa-struct-reorg): Remove.
2217 (--param struct-reorg-cold-struct-ratio): Likewise.
2218 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
2219 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
2220 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
2221
f137aa63
AK
22222011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2223
2224 * config/s390/2084.md: Enable all insn reservations also for z9_ec
2225 cpu attribute value.
2226 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
2227 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
2228 * config/s390/s390.c (processor_flags_table): New constant array.
2229 (s390_handle_arch_option): Remove.
2230 (s390_handle_option): Remove s390_handle_arch_option invocations
2231 and OPT_mwarn_framesize_ handling.
2232 (s390_option_override): Remove s390_handle_arch_option invocation.
2233 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
2234 warnings.
2235 * config/s390/s390.md (cpu attribute): Add z9_ec value.
2236 * config/s390/s390.opt (s390_tune, s390_arch)
2237 (march=): Replace s390_arch_option enum and values with
2238 processor_type. Set variable name to s390_arch. Set
2239 initialization value.
2240 (mtune=): Replace s390_arch_option with processor_type. Set
2241 variable name to s390_tune. Set initialization value.
2242
bf90208f
JB
22432011-03-23 Julian Brown <julian@codesourcery.com>
2244
2245 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
2246 accesses which are not naturally aligned.
2247
3460fdf3
RS
22482011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
2249
2250 PR target/47553
2251 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
2252
a5c7d693
RS
22532011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
2254
2255 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
2256 parameter from "int" to "enum insn_code".
2257 (expand_operand_type): New enum.
2258 (expand_operand): New structure.
2259 (create_expand_operand): New function.
2260 (create_fixed_operand, create_output_operand): Likewise
2261 (create_input_operand, create_convert_operand_to): Likewise.
2262 (create_convert_operand_from, create_address_operand): Likewise.
2263 (create_integer_operand): Likewise.
2264 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
2265 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
2266 (expand_insn, expand_jump_insn): Likewise.
2267 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
2268 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
2269 (expand_movstr, expand_builtin___clear_cache): Likewise.
2270 (expand_builtin_lock_release): Likewise.
2271 * explow.c (allocate_dynamic_stack_space): Likewise.
2272 (probe_stack_range): Likewise. Allow check_stack to FAIL,
2273 and use the default handling in that case.
2274 * expmed.c (check_predicate_volatile_ok): Delete.
2275 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
2276 (emit_cstore): Likewise.
2277 * expr.c (emit_block_move_via_movmem): Likewise.
2278 (set_storage_via_setmem, expand_assignment): Likewise.
2279 (emit_storent_insn, try_casesi): Likewise.
2280 (emit_single_push_insn): Likewise. Allow the expansion to fail.
2281 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
2282 (expand_vec_shift_expr, expand_binop_directly): Likewise.
2283 (expand_twoval_unop, expand_twoval_binop): Likewise.
2284 (expand_unop_direct, emit_indirect_jump): Likewise.
2285 (emit_conditional_move, vector_compare_rtx): Likewise.
2286 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
2287 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
2288 (expand_sync_lock_test_and_set): Likewise.
2289 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
2290 (emit_unop_insn): Likewise.
2291 (expand_copysign_absneg): Change icode to an insn_code.
2292 (create_convert_operand_from_type): New function.
2293 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
2294 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
2295 (expand_insn, expand_jump_insn): Likewise.
2296 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
2297 than const_int_operand for operand 2.
2298
78fadbab
AK
22992011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2300
2301 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
2302 if possible.
2303
5f02387d
NF
23042011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2305
2306 * emit-rtl.c (emit_pattern_before_noloc): New function.
2307 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
2308 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
2309 (emit_pattern_after_noloc): New function.
2310 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
2311 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
2312
fdf3e18a
NF
23132011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2314
2315 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
2316 (__ffsDI2): Likewise.
2317
42d085c1
RH
23182011-03-22 Richard Henderson <rth@redhat.com>
2319
2320 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
2321 of !TARGET_ABI_OPEN_VMS.
2322 (alpha_trampoline_init, alpha_start_function): Likewise.
2323 (alpha_expand_epilogue, alpha_file_start): Likewise.
2324 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
2325 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
2326 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
2327 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
2328 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
2329
cabbe12a
JM
23302011-03-22 Joseph Myers <joseph@codesourcery.com>
2331
2332 * config/s390/s390-opts.h: New.
2333 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
2334 s390_arch_flags, s390_warn_framesize, s390_stack_size,
2335 s390_stack_guard): Remove.
2336 (s390_handle_arch_option): Return void. Take enum
2337 s390_arch_option value instead of string and searching array.
2338 (s390_handle_option): Don't assert that global structures are in
2339 use. Access variables via opts pointer. Use error_at. Don't use
2340 sscanf for -mstack-guard= or -mstack-size=. Update call to
2341 s390_handle_arch_option.
2342 (s390_option_override): Update call to s390_handle_arch_option.
2343 (s390_emit_prologue): Use %d format for s390_stack_size in
2344 diagnostic. Use %wd for HOST_WIDE_INT.
2345 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
2346 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
2347 * config/s390/s390.opt (config/s390/s390-opts.h): New
2348 HeaderInclude entry.
2349 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
2350 s390_arch_flags, s390_warn_framesize): New Variable entries.
2351 (s390_arch_option): New Enum and EnumValue entries.
2352 (march=): Use Enum instead of Var.
2353 (mstack-guard=, mstack-size=): Use UInteger and Var.
2354 (mtune=): Use Enum.
2355
05b12036
JM
23562011-03-22 Joseph Myers <joseph@codesourcery.com>
2357
2358 * config/score/score.c (score_handle_option): Don't assert that
2359 global structures are in use. Access target_flags via opts
2360 pointer. Use value of -march= option to determine target_flags
2361 settings.
2362 * config/score/score.opt (march=): Use Enum.
2363 (score_arch): New Enum and EnumValue entries.
2364
dd51e35a
JM
23652011-03-22 Joseph Myers <joseph@codesourcery.com>
2366
2367 * config/mep/mep.c (option_mtiny_specified): Remove.
2368 (mep_option_override): Move register handling for -mivc2 from
2369 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
2370 instead of option_mtiny_specified.
2371 (mep_handle_option): Access target_flags via opts pointer. Don't
2372 assert that global structures are in use. Defer part of -mivc2
2373 handling and move it to mep_option_override.
2374 * config/mep/mep.opt (IVC2): New Mask entry.
2375 (mivc2): Use Var and Defer instead of Mask.
2376
4a8d3d91
JM
23772011-03-22 Joseph Myers <joseph@codesourcery.com>
2378
2379 * config/v850/v850-opts.h: New.
2380 * config/v850/v850.c (small_memory): Replace with
2381 small_memory_physical_max array. Make that array static const.
2382 (v850_handle_memory_option): Take integer value of argument. Take
2383 gcc_options pointer, option text and location. Return void.
2384 Update for changes to small memory structures.
2385 (v850_handle_option): Access target_flags via opts pointer. Don't
2386 assert that global structures are in use. Update calls to
2387 v850_handle_memory_option.
c78dd519
UB
2388 (v850_encode_data_area): Update references to small memory settings.
2389 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
2390 (enum small_memory_type): Move to v850-opts.h.
2391 * config/v850/v850.opt (config/v850/v850-opts.h): New
2392 HeaderInclude entry.
2393 (small_memory_max): New Variable entry.
2394 (msda): Replace by pair of options msda= and msda-. Use UInteger.
2395 (mtda, mzda): Likewise.
2396
117fdbfa
JM
23972011-03-22 Joseph Myers <joseph@codesourcery.com>
2398
2399 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
2400 pointer. Don't assert that global structures are in use.
2401
d715091c
JM
24022011-03-22 Joseph Myers <joseph@codesourcery.com>
2403
2404 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
2405 via opts pointer. Don't assert that global structures are in use.
2406
1bb721dc
JM
24072011-03-22 Joseph Myers <joseph@codesourcery.com>
2408
2409 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
2410 (munix=93): Use Var.
2411 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
2412 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
2413 * config/pa/pa-opts.h: New.
2414 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
2415 (pa_handle_option): Don't assert that global structures are in
2416 use. Access target_flags via opts pointer. Don't handle
2417 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
2418 OPT_munix_98 here.
2419 (pa_option_override): Handle deferred OPT_mfixed_range_.
2420
cd8d8754
JM
24212011-03-22 Joseph Myers <joseph@codesourcery.com>
2422
2423 * config/mn10300/mn10300-opts.h: New.
2424 * config/mn10300/mn10300.c (mn10300_processor,
2425 mn10300_tune_string): Remove.
2426 (mn10300_handle_option): Don't assert that global structures are
2427 in use. Access mn10300_processor via opts pointer. Don't handle
2428 OPT_mtune_ here.
2429 * config/mn10300/mn10300.h (enum processor_type): Move to
2430 mn10300-opts.h.
2431 (mn10300_processor): Remove.
2432 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
2433 HeaderInclude entry.
2434 (mn10300_processor): New Variable entry.
2435 (mtune=): Use Var.
2436
24e6e6b1
JM
24372011-03-22 Joseph Myers <joseph@codesourcery.com>
2438
2439 * config/microblaze/microblaze.c: Don't include opts.h.
2440 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
2441 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
2442 (mno-clearbss): Use Var and Warn.
2443
8a784afb
JM
24442011-03-22 Joseph Myers <joseph@codesourcery.com>
2445
2446 * config/m32r/m32r-opts.h: New.
2447 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
2448 (m32r_handle_option): Don't assert that global structures are in
2449 use. Access target_flags and m32r_cache_flush_func via opts
2450 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
2451 OPT_mno_flush_trap here.
2452 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
2453 include of m32r-opts.h.
2454 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
2455 HeaderInclude entry.
2456 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
2457 (mmodel=): Use Enum and Var.
2458 (m32r_model): New Enum and EnumValue entries.
2459 (mno-flush-trap): Use Var.
2460 (msdata=): Use Enum and Var.
2461 (m32r_sdata): New Enum and EnumValue entries.
2462
bbfc9a8c
JM
24632011-03-22 Joseph Myers <joseph@codesourcery.com>
2464
2465 * config/m32c/m32c.c: Don't include opts.h.
2466 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
2467 m32c_handle_option): Remove.
2468 (m32c_option_override): Check global_options_set.x_target_memregs
2469 instead of target_memregs_set.
2470 * config/m32c/m32c.h (target_memregs): Remove.
2471 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
2472 variable.
2473
e24b8335
JM
24742011-03-22 Joseph Myers <joseph@codesourcery.com>
2475
2476 * config/iq2000/iq2000-opts.h: New.
2477 * config/iq2000/iq2000.c: Don't include opts.h.
2478 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 2479 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
2480 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
2481 HeaderInclude entry.
2482 (iq2000_tune): New Variable entry.
2483 (march=): Add comment. Use Enum.
2484 (iq2000_arch): New Enum and EnumValue entries.
2485 (mcpu=): Use Enum and Var.
2486 (iq2000_tune): New Enum and EnumValue entries.
2487
e6cc0c98
JM
24882011-03-22 Joseph Myers <joseph@codesourcery.com>
2489
2490 * config/ia64/ia64-opts.h: New.
2491 * config/ia64/ia64.c (ia64_tune): Remove.
2492 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
2493 here. Use error_at.
2494 (ia64_option_override): Handle deferred OPT_mfixed_range_.
2495 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
2496 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
2497 HeaderInclude entry.
2498 (ia64_tune): New Variable entry.
2499 (mfixed-range=): Use Defer and Var.
2500 (mtune=): Use Enum and Var.
2501 (ia64_tune): New Enum and EnumValue entries.
2502
db25893c
JM
25032011-03-22 Joseph Myers <joseph@codesourcery.com>
2504
2505 * config/frv/frv-opts.h: New.
2506 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
2507 frv-opts.h.
2508 (frv_cpu_type): Remove.
2509 * config/frv/frv.c: Don't include opts.h.
2510 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 2511 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
2512 (frv_cpu_type): New Variable entry.
2513 (frv_cpu): New Enum and EnumValue entries.
2514
6c223f5d
JM
25152011-03-22 Joseph Myers <joseph@codesourcery.com>
2516
2517 * config/cris/cris.c (cris_handle_option): Access target_flags via
2518 opts pointer. Don't assert that global structures are in use.
2519 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
2520 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
2521
bbd399cf
JM
25222011-03-22 Joseph Myers <joseph@codesourcery.com>
2523
2524 * config/bfin/bfin-opts.h: New.
2525 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
2526 bfin_si_revision, bfin_workarounds): Remove.
2527 (bfin_cpus): Make static const.
2528 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
2529 not bfin_lib_id_given.
2530 (bfin_handle_option): Don't set bfin_lib_id_given. Access
2531 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 2532 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
2533 * config/bfin/bfin.h: Include bfin-opts.h.
2534 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
2535 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
2536 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
2537 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
2538 entries.
2539
5e1b4d5a
JM
25402011-03-22 Joseph Myers <joseph@codesourcery.com>
2541
2542 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
2543 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
2544 or -msoft-float here.
2545 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
2546 -msoft-float and -mhard-float.
c78dd519 2547 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
2548 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
2549 msoft-float.
2550 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
2551 -msoft-float.
2552 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
2553 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
2554 not mhard-float.
2555 (LIBGCC_SPEC): Don't handle -msoft-float.
2556 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
2557 -mhard-float.
2558 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
2559 msoft-float.
2560 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
2561 -mfloat-abi=*, not -msoft-float and -mhard-float.
2562 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
2563 -msoft-float.
2564 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
2565 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
2566 mhard-float and msoft-float.
2567 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
2568 mfloat-abi=soft in comments, not mhard-float and msoft-float.
2569 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
2570 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
2571 mhard-float.
2572 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
2573 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
2574 msoft-float.
2575 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
2576 not mhard-float.
2577 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
2578 not msoft-float.
2579
800d1de1
RH
25802011-03-22 Richard Henderson <rth@redhat.com>
2581
2582 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
2583 TARGET_ABI_WINDOWS_NT.
2584 (alpha_output_function_end_prologue): Likewise.
2585 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
2586 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
2587 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
2588 (trap, *movsi_nt_vms): Likewise.
2589 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
2590 (*tablejump_osf_nt_internal): Remove.
2591 * config/alpha/predicates.md (input_operand): Only test Pmode.
2592
c59ddd2b
JM
25932011-03-22 Joseph Myers <joseph@codesourcery.com>
2594
2595 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
2596 via opts pointer. Use error_at. Don't assert that global
2597 structures are in use.
2598
1333f97f
JM
25992011-03-22 Joseph Myers <joseph@codesourcery.com>
2600
2601 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
2602 (ix86_handle_option): Access ix86_isa_flags and
2603 ix86_isa_flags_explicit via opts pointer. Don't assert that
2604 global structures are in use.
2605 (ix86_function_specific_save, ix86_function_specific_restore):
2606 Update ix86_isa_flags_explicit field name.
c78dd519 2607 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
2608 (ix86_isa_flags_explicit): Rename TargetSave entry to
2609 x_ix86_isa_flags_explicit.
2610
75db85d8
RH
26112011-03-22 Richard Henderson <rth@redhat.com>
2612
2613 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
2614 (alpha_option_override, direct_return): Likewise.
2615 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
2616 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
2617 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
2618 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
2619 (alpha_expand_epilogue, alpha_end_function): Likewise.
2620 (alpha_init_libfuncs): Likewise.
2621 (struct machine_function): Remove unicosmk members.
2622 (print_operand) ['t']: Remove.
2623 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
2624 unicosmk_output_module_name, unicosmk_output_common,
2625 current_section_align, unicosmk_output_text_section_asm_op,
2626 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
2627 unicosmk_section_type_flags, unicosmk_unique_section,
2628 unicosmk_asm_named_section, unicosmk_insert_attributes,
2629 unicosmk_output_align, unicosmk_defer_case_vector,
2630 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
2631 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
2632 unicosmk_output_ssib, unicosmk_add_call_info_word,
2633 unicosmk_extern_head, unicosmk_output_default_externs,
2634 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
2635 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
2636 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
2637 * config/alpha/alpha-protos.h: Update.
2638 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
2639 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
2640 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
2641 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
2642 (*mulsi_se, mulvsi3): Likewise.
2643 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
2644 (*divmodsi_internal, call, call_value, realign): Likewise.
2645 (moddi3, umoddi3): Likewise; remove duplicate expander.
2646 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
2647 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
2648 (*movdi_nofix): Remove r/U alternative.
2649 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
2650 * config/alpha/constraints.md ("U"): Remove.
2651 * config/alpha/predicates.md (call_operand"): Don't test
2652 TARGET_ABI_UNICOSMK.
2653
96e45421
JM
26542011-03-22 Joseph Myers <joseph@codesourcery.com>
2655
2656 * target.def (handle_option): Take gcc_options and
2657 cl_decoded_option pointers and location_t.
2658 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
2659 * doc/tm.texi: Regenerate.
2660 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
2661 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
2662 * lto-opts.c (lto_reissue_options): Generate option structure for
2663 targetm.handle_option call.
2664 * opts.c (target_handle_option): Update call to
2665 targetm.handle_option. Remove assertions about values now passed
2666 down to hook.
2667 * targhooks.c (default_target_handle_option): New.
2668 * targhooks.h (default_target_handle_option): Declare.
2669 * config/alpha/alpha.c: Include opts.h.
2670 (alpha_handle_option): Update to new hook interface.
2671 * config/arm/arm.c: Include opts.h.
2672 (arm_handle_option): Update to new hook interface.
2673 * config/arm/t-arm (arm.o): Update dependencies.
2674 * config/bfin/bfin.c: Include opts.h.
2675 (bfin_handle_option): Update to new hook interface.
2676 * config/cris/cris.c: Include opts.h.
2677 (cris_handle_option): Update to new hook interface.
2678 * config/frv/frv.c: Include opts.h.
2679 (frv_handle_option): Update to new hook interface.
2680 * config/i386/i386.c: Include opts.h.
2681 (ix86_handle_option): Update to new hook interface.
2682 (ix86_valid_target_attribute_inner_p): Generate option structure
2683 for call to ix86_handle_option.
2684 * config/i386/t-i386 (i386.o): Update dependencies.
2685 * config/ia64/ia64.c: Include opts.h.
2686 (ia64_handle_option): Update to new hook interface.
2687 * config/ia64/t-ia64 (ia64.o): Update dependencies.
2688 * config/iq2000/iq2000.c: Include opts.h.
2689 (iq2000_handle_option): Update to new hook interface.
2690 * config/m32c/m32c.c: Include opts.h.
2691 (m32c_handle_option): Update to new hook interface.
2692 * config/m32r/m32r.c: Include opts.h.
2693 (m32r_handle_option): Update to new hook interface.
2694 * config/m68k/m68k.c: Include opts.h.
2695 (m68k_handle_option): Update to new hook interface.
2696 * config/mep/mep.c: Include opts.h.
2697 (mep_handle_option): Update to new hook interface.
2698 * config/microblaze/microblaze.c: Include opts.h.
2699 (microblaze_handle_option): Update to new hook interface.
2700 * config/mips/mips.c: Include opts.h.
2701 (mips_handle_option): Update to new hook interface.
2702 * config/mn10300/mn10300.c: Include opts.h.
2703 (mn10300_handle_option): Update to new hook interface.
2704 * config/pa/pa.c: Include opts.h.
2705 (pa_handle_option): Update to new hook interface.
2706 * config/pdp11/pdp11.c: Include opts.h.
2707 (pdp11_handle_option): Update to new hook interface.
2708 * config/rs6000/rs6000.c: Include opts.h.
2709 (rs6000_handle_option): Update to new hook interface.
2710 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
2711 * config/rx/rx.c: Include opts.h.
2712 (rx_handle_option): Update to new hook interface.
2713 * config/s390/s390.c: Include opts.h.
2714 (s390_handle_option): Update to new hook interface.
2715 * config/score/score.c: Include opts.h.
2716 (score_handle_option): Update to new hook interface.
2717 * config/sh/sh.c: Include opts.h.
2718 (sh_handle_option): Update to new hook interface.
2719 * config/sparc/sparc.c: Include opts.h.
2720 (sparc_handle_option): Update to new hook interface.
2721 * config/v850/v850.c: Include opts.h.
2722 (v850_handle_option): Update to new hook interface.
2723
66017846
JM
27242011-03-22 Joseph Myers <joseph@codesourcery.com>
2725
2726 * gcc.c (driver_unknown_option_callback): Only permit and save
2727 unknown -Wno- options.
2728 (driver_wrong_lang_callback): Save options directly instead of via
2729 driver_unknown_option_callback.
2730
e8b97ccd
EB
27312011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2732
2733 * combine.c (simplify_set): Try harder to find the best CC mode when
2734 simplifying a nested COMPARE on the RHS.
2735
ebb9f8b0
JM
27362011-03-22 Joseph Myers <joseph@codesourcery.com>
2737
2738 * config/alpha/gnu.h: Remove.
2739 * config/arc: Remove directory.
2740 * config/arm/netbsd.h: Remove.
2741 * config/arm/t-pe: Remove.
2742 * config/crx: Remove directory.
2743 * config/i386/netbsd.h: Remove.
2744 * config/m68hc11: Remove directory.
2745 * config/m68k/uclinux-oldabi.h: Remove.
2746 * config/mcore/mcore-pe.h: Remove.
2747 * config/mcore/t-mcore-pe: Remove.
2748 * config/netbsd-aout.h: Remove.
2749 * config/rs6000/gnu.h: Remove.
2750 * config/sh/sh-symbian.h: Remove.
2751 * config/sh/symbian-base.c: Remove.
2752 * config/sh/symbian-c.c: Remove.
2753 * config/sh/symbian-cxx.c: Remove.
2754 * config/sh/symbian-post.h: Remove.
2755 * config/sh/symbian-pre.h: Remove.
2756 * config/sh/t-symbian: Remove.
2757 * config/svr3.h: Remove.
2758 * config/vax/netbsd.h: Remove.
2759 * config.build: Don't handle i[34567]86-*-pe.
2760 * config.gcc: Remove handling of deprecations for most deprecated
2761 targets.
2762 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
2763 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
2764 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
2765 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
2766 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
2767 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
2768 Remove cases.
2769 * config.host: Don't handle i[34567]86-*-pe.
2770 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
2771 (ASM_SPEC32): Don't handle -mcall-gnu.
2772 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
2773 -mcall-gnu.
2774 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
2775 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
2776 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
2777 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
2778 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
2779 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
2780 conditional on SYMBIAN.
2781 * configure.ac: Don't handle powerpc*-*-gnu*.
2782 * configure: Regenerate.
2783 * doc/extend.texi (interrupt attribute): Don't mention CRX.
2784 * doc/install-old.texi (m6811, m6812): Don't mention.
2785 * doc/install.texi (arc-*-elf*): Don't document multilib option.
2786 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
2787 (m68k-uclinuxoldabi): Don't mention.
2788 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
2789 Remove.
2790 (-mcall-gnu): Remove.
2791 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
2792 families): Remove constraint documentation.
2793
999a7d80
MS
27942011-03-22 Marius Strobl <marius@FreeBSD.org>
2795
2796 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
2797 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
2798 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
2799
980a0ff4
GJL
28002011-03-21 Georg-Johann Lay <avr@gjlay.de>
2801
2802 * config/avr/avr-protos.h (expand_epilogue): Change prototype
2803 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
2804 * config/avr/avr.c (init_cumulative_args)
2805 (avr_function_arg_advance): Use it.
2806 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
2807 sibcall epilogues.
2808 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
2809 (avr_function_ok_for_sibcall): ...this new function.
2810 (avr_lookup_function_attribute1): New static Function.
2811 (avr_naked_function_p, interrupt_function_p)
2812 (signal_function_p, avr_OS_task_function_p)
2813 (avr_OS_main_function_p): Use it.
2814 * config/avr/avr.md ("sibcall", "sibcall_value")
2815 ("sibcall_epilogue"): New expander.
2816 ("*call_insn", "*call_value_insn"): New insn.
2817 ("call_insn", "call_value_insn"): Remove
2818 ("call", "call_value", "epilogue"): Change expander to handle
2819 sibling calls.
2820
49168734
NC
28212011-03-21 Nick Clifton <nickc@redhat.com>
2822
2823 * doc/invoke.texi (Overall Options): Move closing brace to end of
2824 options list.
2825 (Optimization Options): Add missing @gol.
2826 (Directory Options): Likewise.
2827 (i386 and x86-64 Options): Likewise.
2828 (RS6000 and PowerPC Options): Likewise.
2829 (i386 and x86-64 Windows Options): Likewise.
2830 (V850 Options): Add text missing from descriptions.
2831
bdfe906f
RH
28322011-03-22 Richard Henderson <rth@redhat.com>
2833
2834 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
2835 (avr_incoming_return_addr_rtx): New.
2836 (emit_push_byte): New.
2837 (expand_prologue): Use it. Remove incorrect dwarf annotation for
2838 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
2839 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
2840 (emit_pop_byte): New.
2841 (expand_epilogue): Use it. Pop frame pointer by bytes.
2842 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
2843 (INCOMING_RETURN_ADDR_RTX): New.
2844 (INCOMING_FRAME_SP_OFFSET): New.
2845 (ARG_POINTER_CFA_OFFSET): New.
2846 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
2847 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
2848 (pophi): Remove.
2849
d090a5aa
RH
2850 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
2851
fdf3e18a
NF
28522011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2853
2854 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
2855 (FUNCTION_ARG_ADVANCE): Likewise.
2856 * tm.texi.in: Change references to them to hook references.
2857 * tm.texi: Regenerate.
2858 * targhooks.c (default_function_arg): Eliminate check for target
2859 macro.
2860 (default_function_incoming_arg): Likewise.
2861 (default_function_arg_advance): Likewise.
c78dd519 2862 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
2863 (function_arg_advance): Likewise.
2864 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
2865
009d3fcf
NF
28662011-03-22 Nathan Froyd <froydnj@codesourcery.com>
2867
2868 * tree.c (build_call_1): New function.
2869 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
2870
7bec30e1
RG
28712011-03-22 Richard Guenther <rguenther@suse.de>
2872
2873 PR tree-optimization/48228
2874 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
2875 for single-arg PHIs.
2876
0b7e851b
AB
28772011-03-22 Andrey Belevantsev <abel@ispras.ru>
2878
2879 PR rtl-optimization/48143
2880 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
2881 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
2882 sse2_cvtps2pd): Likewise.
2883
d89afca5
AK
28842011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2885
2886 * recog.c (canonicalize_change_group): Use validate_unshare_change.
2887
f471fe72
RG
28882011-03-22 Richard Guenther <rguenther@suse.de>
2889
2890 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
2891 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
2892 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
2893 and REALIGN_LOAD_EXPR.
2894 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
2895 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
2896 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
2897 DOT_PROD_EXPR case ...
2898 (expand_expr_real_2): ... here.
2899 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
2900 and REALIGN_LOAD_EXPR.
2901 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
2902 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
2903 (vect_create_epilog_for_reduction): Likewise.
2904 (vectorizable_reduction): Likewise.
2905 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
2906 * tree-vect-stmts.c (vectorizable_load): Likewise.
2907
f2f81d57
EB
29082011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2909
2910 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
2911
ab081dd6
AK
29122011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2913
2914 * config/s390/s390.c (s390_delegitimize_address): Fix offset
2915 handling for PLTOFF/GOTOFF.
2916
6fd5332b
NC
29172011-03-22 Nick Clifton <nickc@redhat.com>
2918
2919 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2920 trailing backslash from the end of the macro definition.
2921
01841ac0
AK
29222011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2923
2924 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
2925 and PLT unspecs.
2926
2ef6ce06
RS
29272011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
2928
2929 * expr.h (prepare_operand): Move to...
2930 * optabs.h (prepare_operand): ...here and change the insn code
2931 parameter from "int" to "enum insn_code".
2932 (insn_operand_matches): Declare.
2933 * expr.c (init_expr_target): Use insn_operand_matches.
2934 (compress_float_constant): Likewise.
2935 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
2936 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
2937 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
2938 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
2939 Likewise.
2ef6ce06
RS
2940 (gen_cond_trap): Likewise.
2941 (prepare_operand): Likewise. Change icode to an insn_code.
2942 (insn_operand_matches): New function.
2943 * reload.c (find_reloads_address_1): Use insn_operand_matches.
2944 * reload1.c (gen_reload): Likewise.
2945 * targhooks.c (default_secondary_reload): Likewise.
2946
9e43ad68
UB
29472011-03-21 Uros Bizjak <ubizjak@gmail.com>
2948
9a96da32
UB
2949 * config/alpha/alpha.md (unspec): New define_c_enum.
2950 (unspecv): Ditto.
2951
29522011-03-21 Uros Bizjak <ubizjak@gmail.com>
2953
2954 PR debug/48214
9e43ad68
UB
2955 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
2956 between a call and its CALL_ARG_LOCATION note.
2957
31408f60
EB
29582011-03-21 Eric Botcazou <ebotcazou@adacore.com>
2959
2960 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
2961
29622011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
2963
2964 PR c/42544
2965 PR c/48197
2966 * c-common.c (shorten_compare): If primopN is first sign-extended
2967 to opN and then zero-extended to result type, set primopN to opN.
2968
9dfd55f5
DJ
29692011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
2970
2971 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
2972 for barrier handlers.
2973
f3c33d9d
MM
29742011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
2975
2976 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
2977 UNSPEC constants to be in the unspec enumeration, and redefine
2978 all UNSPECV constants to be in the unspecv enumeration, so that
2979 dumps print which unspec/unspec_volatile this is.
2980 * config/rs6000/vector.md (UNSPEC_*): Ditto.
2981 * config/rs6000/paired.md (UNSPEC_*): Ditto.
2982 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
2983 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
2984 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
2985
2986 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
2987 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
2988 UNSPECV_LWSYNC, since these are used as unspec_volatile.
2989 * config/rs6000/sync.md (isync, lwsync): Ditto.
2990
ac43f774
RG
29912011-03-21 Richard Guenther <rguenther@suse.de>
2992
2993 * params.def (lto-min-partition): Fix typo.
2994
411cdbd8
RG
29952011-03-21 Richard Guenther <rguenther@suse.de>
2996
2997 PR c/47939
2998 * c-decl.c (grokdeclarator): Drop to the main variant only
2999 for array types. Drop flag_gen_aux_info check.
3000
1cd9e416
RG
30012011-03-21 Richard Guenther <rguenther@suse.de>
3002
3003 PR translation/47911
3004 * params.def (lto-partitions): Fix typo.
3005 (lto-min-partition): Fix wording.
3006
ada5ad67
AT
30072011-03-21 Andreas Tobler <andreast@fgznet.ch>
3008
3009 * config/rs6000/t-freebsd: Remove duplication from file.
3010
f9613c9a
RG
30112011-03-21 Richard Guenther <rguenther@suse.de>
3012
3013 PR middle-end/47661
3014 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
3015
9bfbc1eb
RG
30162011-03-21 Richard Guenther <rguenther@suse.de>
3017
3018 PR lto/48210
3019 * params.def (lto-partitions): Require at least 1 partition.
3020
a2268084
RO
30212011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3022
3023 * gthr-solaris.h: Remove.
3024 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
3025 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
3026 (LIB_SPEC): Likewise.
3027 * config/sol2.opt (threads): Remove.
9e43ad68 3028 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
3029 (sparc*-*-solaris2*): Likewise.
3030 * configure.ac (enable_threads): Enable solaris support.
3031 * configure: Regenerate.
9e43ad68 3032 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
3033 * doc/install.texi (Configuration, --enable-threads=lib): Remove
3034 solaris.
3035
c43d9a1b
RO
30362011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3037
3038 * config.gcc: Obsolete *-*-solaris2.8*.
3039 * doc/install.texi (Specific, *-*-solaris2*): Document it.
3040
084239f4
RO
30412011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3042
3043 PR bootstrap/48135
3044 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
3045 reference. Solaris 8 perl works.
3046
64cadbe7
RO
30472011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3048
3049 PR bootstrap/48135
3050 * doc/install.texi (Prerequisites): Move jar etc. up.
3051 Explain support library version requirements.
3052
eb975109
RO
30532011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3054
3055 PR bootstrap/48135
3056 * doc/install.texi (Prerequisites): Move Perl to build
3057 requirements. Always necessary on Solaris 2 with Sun ld.
3058
8a509ffd
RO
30592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3060
3061 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
3062 binutils 2.21.
3063 (Specific, i?86-*-solaris2.[89]): Likewise.
3064 (Specific, i?86-*-solaris2.10): Likewise.
3065 (Specific, mips-sgi-irix6): Likewise.
3066 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
3067 Update for binutils 2.21.
3068
8fbc58a1
RO
30692011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3070
3071 * configure.ac (gcc_cv_lto_plugin): Fix typo.
3072 Allow -fuse-linker-plugin for non-default plugin linker.
3073 * configure: Regenerate.
3074
7e84ad0b
NP
30752011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
3076
3077 PR bootstrap/48167
3078 * gengtype.c (files_rules): Added rule for cp/parser.h.
3079
2f36e14b
JJ
30802011-03-21 Jakub Jelinek <jakub@redhat.com>
3081
3082 PR target/48213
3083 * config/s390/s390.c (s390_delegitimize_address): Don't call
3084 lowpart_subreg if orig_x has BLKmode.
3085
62d784f7
KT
30862011-03-21 Kai Tietz <ktietz@redhat.com>
3087
3088 PR target/12171
9e43ad68
UB
3089 * doc/plugins.texi: Adjust documentation for plugin register_callback.
3090 * tree.h (attribute_spec): Add new member affects_type_identity.
3091 * attribs.c (empty_attribute_table): Adjust attribute_spec
3092 initializers.
62d784f7
KT
3093 * config/alpha/alpha.c: Likewise.
3094 * config/arc/arc.c: Likewise.
3095 * config/arm/arm.c: Likewise.
3096 * config/avr/avr.c: Likewise.
3097 * config/bfin/bfin.c: Likewise.
3098 * config/crx/crx.c: Likewise.
3099 * config/darwin.h: Likewise.
3100 * config/h8300/h8300.c: Likewise.
3101 * config/i386/cygming.h: Likewise.
3102 * config/i386/i386.c: Likewise.
3103 * config/ia64/ia64.c: Likewise.
3104 * config/m32c/m32c.c: Likewise.
3105 * config/m32r/m32r.c: Likewise.
3106 * config/m68hc11/m68hc11.c: Likewise.
3107 * config/m68k/m68k.c: Likewise.
3108 * config/mcore/mcore.c: Likewise.
3109 * config/mep/mep.c: Likewise.
3110 * config/microblaze/microblaze.c: Likewise.
3111 * config/mips/mips.c: Likewise.
3112 * config/rs6000/rs6000.c: Likewise.
3113 * config/rx/rx.c: Likewise.
3114 * config/sh/sh.c: Likewise.
3115 * config/sol2.h: Likewise.
3116 * config/sparc/sparc.c: Likewise.
3117 * config/spu/spu.c: Likewise.
3118 * config/stormy16/stormy16.c: Likewise.
3119 * config/v850/v850.c: Likewise.
3120
54833ec0
CLT
31212011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
3122
3123 * simplify-rtx.c (simplify_binary_operation_1): Handle
3124 (xor (and A B) C) case when B and C are both constants.
3125
14a41392
MX
31262011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
3127
3128 * tree-dfa.c (add_referenced_var): Fix typo in comment.
3129
806c3492
EB
31302011-03-20 Eric Botcazou <ebotcazou@adacore.com>
3131
3132 PR bootstrap/48168
3133 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
3134
65e0a0f3
JJ
31352011-03-20 Jakub Jelinek <jakub@redhat.com>
3136
3137 PR rtl-optimization/48156
3138 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
3139 assume df and df_lr are not NULL.
3140
b6a75dda
RR
31412011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3142
3143 PR debug/48023
3144 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
3145 between a call and its CALL_ARG_LOCATION note.
3146
5969b52d
KK
31472011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
3148
3149 PR debug/48178
3150 * config/sh/sh.c (find_barrier): Don't emit a constant pool
3151 between a call and its corresponding CALL_ARG_LOCATION note.
3152
f773c2bd
AS
31532011-03-19 Anatoly Sokolov <aesok@post.ru>
3154
3155 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
3156 instead of loop. Use HARD_REGISTER_NUM_P predicate.
3157 * haifa-sched.c (setup_ref_regs): Ditto.
3158 * caller-save.c (add_used_regs_1): Ditto.
3159 * dse.c (look_for_hardregs): Ditto.
3160 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
3161 * sched-rgn.c (check_live_1): Ditto.
3162
8bf872f9
JM
31632011-03-18 Joseph Myers <joseph@codesourcery.com>
3164
3165 * c-decl.c (diagnose_mismatched_decls): Give an error for
3166 redefining a typedef with variably modified type.
3167
ff8e2159
JM
31682011-03-18 Joseph Myers <joseph@codesourcery.com>
3169
3170 * c-decl.c (grokfield): Don't allow typedefs for structures or
3171 unions with no tag by default.
3172 * doc/extend.texi (Unnamed Fields): Update.
3173
16cc4440
UB
31742011-03-18 Uros Bizjak <ubizjak@gmail.com>
3175
3176 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
3177 Rewrite using indirect functions.
3178 (lwp_slwpcb): Ditto.
3179 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
3180 (avx_vinsertf128<mode>): Ditto.
3181
e101e12e
AK
31822011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3183
3184 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
3185 unspecs.
3186
4627c7fb
AK
31872011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3188
3189 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 3190 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 3191
2d36b47f
MK
31922011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
3193
3194 PR rtl-optimization/48170
3195 * gcse.c (hoist_code): Remove bogus asserts.
3196
2a3d7659
JL
31972011-03-18 Georg-Johann Lay <avr@gjlay.de>
3198
3199 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
3200 computation for prologue/epilogue.
3201
34c3ef05
RO
32022011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3203
3204 * Makefile.in (check-consistency): Remove.
3205
81f2b976
JJ
32062011-03-18 Jakub Jelinek <jakub@redhat.com>
3207
3208 PR debug/48176
3209 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
3210 arange_table_in_use is 0, but either text_section_used or
3211 cold_text_section_used is true. Don't call it if
3212 !info_section_emitted.
3213
68fd7765
AS
32142011-03-18 Anatoly Sokolov <aesok@post.ru>
3215
3216 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
3217 FUNCTION_VALUE_REGNO_P): Remove.
3218 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
3219 Remove.
3220 * config/avr/avr.c (avr_ret_register): Make static inline.
3221 (avr_function_value_regno_p): New function.
3222 (avr_libcall_value): Make static. Add 'func' argument.
3223 (avr_function_value): Make static. Rename 'func' argument to
3224 'fn_decl_or_type', forward it to avr_libcall_value. Call
3225 avr_ret_register function instead of RET_REGISTER macro.
3226 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3227
b4ef8aac
JM
32282011-03-18 Jason Merrill <jason@redhat.com>
3229
3230 PR c++/23372
3231 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
3232
09a52fc3
RG
32332011-03-18 Richard Guenther <rguenther@suse.de>
3234
3235 * doc/install.texi (--enable-gold): Remove.
3236 (--with-plugin-ld): Document.
3237 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
3238
2a3d7659 32392011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
3240
3241 PR middle-end/47790
3242 * expr.c (optimize_bitfield_assignment_op): Revamp to work
3243 again after expansion changes.
3244
2abbb0fe
CLT
32452011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
3246
3247 * combine.c (try_combine): Do simplification only call of
3248 subst() on i2 even when i1 is present. Update comments.
3249
2efd0aa6
KK
32502011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
3251
3252 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
3253 and UNSPEC_PCREL_SYMOFF.
3254
30a49b23
AK
32552011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3256
3257 * config/s390/s390.md: Use define_c_enum for the unspec constant
3258 definitions.
3259
419e1853
JJ
32602011-03-18 Richard Henderson <rth@redhat.com>
3261 Jakub Jelinek <jakub@redhat.com>
3262
3263 PR bootstrap/48161
3264 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
3265 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
3266
37875856
L
32672011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3268
3269 PR middle-end/47725
3270 * combine.c (cant_combine_insn_p): Don't check zero/sign
3271 extended hard registers.
3272
76069764
L
32732011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3274
3275 PR middle-end/47725
3276 * combine.c (cant_combine_insn_p): Check zero/sign extended
3277 hard registers.
3278
24da2019
AS
32792011-03-17 Anatoly Sokolov <aesok@post.ru>
3280
3281 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3282 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
3283 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
3284 Change return type to bool.
3285 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3286
a82ff31f
JJ
32872011-03-17 Jakub Jelinek <jakub@redhat.com>
3288
8b29c87a
JJ
3289 PR debug/48163
3290 * var-tracking.c (prepare_call_arguments): If CALL target
3291 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
3292 pc instead of looking it up using cselib_lookup and use
3293 Pmode for it if x has VOIDmode.
3294 * dwarf2out.c (gen_subprogram_die): If also both first and
3295 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
3296
a82ff31f
JJ
3297 PR debug/48163
3298 * function.c (assign_parms): For data.passed_pointer parms
3299 use MEM of data.entry_parm instead of data.entry_parm itself
3300 as DECL_INCOMING_RTL.
3301 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
3302 also when passed and declared mode is the same, DECL_RTL
3303 is a MEM with pseudo as address and DECL_INCOMING_RTL is
3304 a MEM too.
3305
82ce305c
JL
33062011-03-16 Jeff Law <law@redhat.com>
3307
3308 PR rtl-optimization/37273
3309 * ira-costs.c (scan_one_insn): Detect constants living in memory and
3310 handle them like argument loads from stack slots. Do not double
3311 count memory for memory constants and argument loads from stack slots.
3312
fe58e02b
L
33132011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3314
3315 PR debug/48160
3316 * var-tracking.c (prepare_call_arguments): Check SUBREG.
3317
6fc4dbc7
L
33182011-03-17 H.J. Lu <hongjiu.lu@intel.com>
3319
3320 PR target/48171
3321 * config/i386/i386.opt: Add Save to -mavx and -mfma.
3322
db3ed0b3
JJ
33232011-03-17 Jakub Jelinek <jakub@redhat.com>
3324
8054a389
JJ
3325 PR bootstrap/48153
3326 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
3327 if dwarf_strict.
3328 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
3329 Clear call_arg_locations and call_arg_loc_last always.
3330
db3ed0b3
JJ
3331 PR middle-end/48152
3332 * var-tracking.c (prepare_call_arguments): If argument needs to be
3333 passed by reference, adjust argtype and mode.
3334
1bce4ff3
RG
33352011-03-17 Richard Guenther <rguenther@suse.de>
3336
3337 PR middle-end/48134
3338 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
3339 a value make sure to fold the statement.
3340
7c71147d
CLT
33412011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
3342
3343 PR target/43872
3344 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
3345 return condition with !cfun->calls_alloca.
3346
0e1ee172
RG
33472011-03-17 Richard Guenther <rguenther@suse.de>
3348
3349 PR bootstrap/48148
3350 * lto-cgraph.c (input_overwrite_node): Clear the abstract
3351 origin for decls in other ltrans units.
3352 (input_varpool_node): Likewise.
3353
f8bce518
RG
33542011-03-17 Richard Guenther <rguenther@suse.de>
3355
3356 PR middle-end/48165
3357 * tree-object-size.c (compute_object_offset): Properly return
3358 the offset operand of MEM_REFs as sizetype.
3359
1b6fa860
JJ
33602011-03-17 Jakub Jelinek <jakub@redhat.com>
3361
dabd47e7
JJ
3362 PR rtl-optimization/48141
3363 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
3364 * dse.c: Include params.h.
3365 (active_local_stores_len): New variable.
3366 (add_wild_read, dse_step1): Clear it when setting active_local_stores
3367 to NULL.
3368 (record_store, check_mem_read_rtx): Decrease it when removing
3369 from the chain.
3370 (scan_insn): Likewise. Increase it when adding to chain, if it
3371 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
3372 set active_local_stores to NULL before the addition.
3373 * Makefile.in (dse.o): Depend on $(PARAMS_H).
3374
1b6fa860
JJ
3375 PR rtl-optimization/48141
3376 * dse.c (record_store): If no positions are needed in an insn
3377 that cannot be deleted, at least unchain it from active_local_stores.
3378
7b5cb7d6
DS
33792011-03-16 Dodji Seketeli <dodji@redhat.com>
3380
3381 PR debug/47510
3382 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
3383 (lookup_type_die_strip_naming_typedef): ... here.
3384 (get_context_die): Use it.
3385 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
3386 the anonymous struct named by the naming typedef.
3387
585e9d9d
L
33882011-03-16 H.J. Lu <hongjiu.lu@intel.com>
3389
3390 PR target/48154
3391 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
3392 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
3393
6261ab0e
JL
33942011-03-16 Jeff Law <law@redhat.com>
3395
3396 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 3397 check for operands of conditional. Allow type to be a pointer.
6261ab0e 3398
0b0081ec
RG
33992011-03-16 Richard Guenther <rguenther@suse.de>
3400
3401 PR tree-optimization/48149
3402 * fold-const.c (fold_binary_loc): Fold
3403 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
3404
64a3d647
RG
34052011-03-16 Richard Guenther <rguenther@suse.de>
3406
3407 PR tree-optimization/26134
3408 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
3409 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
3410 (non_rewritable_mem_ref_base): Handle complex type component
3411 accesses, constrain offsets for vector and complex extracts
3412 more properly.
3413
ef13324e
RG
34142011-03-16 Richard Guenther <rguenther@suse.de>
3415
3416 PR tree-optimization/48146
3417 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
3418 operands avoiding the need for renaming.
3419
f0eddb90
RG
34202011-03-16 Richard Guenther <rguenther@suse.de>
3421
3422 * gimple-fold.c (maybe_fold_reference): Open-code relevant
3423 constant folding. Move MEM_REF canonicalization first.
3424 Rely on fold_const_aggregate_ref for initializer folding.
3425 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
3426
e42348b8
JJ
34272011-03-16 Jakub Jelinek <jakub@redhat.com>
3428
29f10e71
JJ
3429 PR middle-end/48136
3430 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
3431 arg0/arg1 or their arguments are always fold converted to matching
3432 types.
3433
e42348b8
JJ
3434 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
3435 to nargs.
3436
55b46574
RO
34372011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3438
3439 PR lto/46944
3440 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
3441 Handle in-tree gold.
3442 (ld_vers): Extract binutils version for gold.
3443 (gcc_cv_ld_hidden): Handle gold here.
3444 (gcc_cv_lto_plugin): Determine level of linker plugin support.
3445 * configure: Regenerate.
3446 * config.in: Regenerate.
3447 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
3448 -fuse-linker-plugin otherwise.
3449 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
3450 (LINK_COMMAND_SPEC): Use it.
3451 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
3452
2b1c5433
JJ
34532011-03-16 Jakub Jelinek <jakub@redhat.com>
3454
c2969d8e
JJ
3455 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
3456 * calls.c: Remove debug.h include.
3457 (emit_call_1): Don't call virtual_call_token debug hook.
3458 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
3459 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
3460 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
3461 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
3462 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
3463 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
3464 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
3465 dwarf2out_virtual_call): Remove.
3466 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
3467 copy_call_info and virtual_call hooks.
3468 (dwarf2out_init): Don't initialize vcall_insn_table,
3469 debug_dcall_section and debug_vcall_section.
3470 (prune_unused_types): Don't mark nodes from dcall_table.
3471 (dwarf2out_finish): Don't output dcall or vcall tables.
3472 * final.c (final_scan_insn): Don't call direct_call or
3473 virtual_call debug hooks.
3474 * debug.h (struct gcc_debug_hooks): Remove direct_call,
3475 virtual_call_token, copy_call_info and virtual_call hooks.
3476 (debug_nothing_uid): Remove prototype.
3477 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
3478 copy_call_info and virtual_call hooks.
3479 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
3480 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
3481 * debug.c (do_nothing_debug_hooks): Likewise.
3482 (debug_nothing_uid): Remove.
3483 * doc/invoke.texi (-fenable-icf-debug): Remove.
3484 * common.opt (-fenable-icf-debug): Likewise.
3485
325f5379
JJ
3486 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
3487 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
3488 call's MEM. Handle functions returning aggregate through a hidden
3489 first pointer. For virtual calls add clobbered pc to call arguments
3490 chain.
3491 * dwarf2out.c (gen_subprogram_die): Emit
3492 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
3493 can't be emitted.
3494
a58a8e4b
JJ
3495 PR debug/45882
3496 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
3497 * rtl.h (ENTRY_VALUE_EXP): Define.
3498 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
3499 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
3500 * print-rtl.c (print_rtx): Likewise.
3501 * gengtype.c (adjust_field_rtx_def): Likewise.
3502 * var-tracking.c (vt_add_function_parameter): Adjust
3503 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
3504 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
3505 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
3506 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
3507 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
3508
2b1c5433
JJ
3509 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
3510 Call var_location debug hook even on CALL_INSNs.
3511 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
3512 * rtl.def (ENTRY_VALUE): New.
3513 * dwarf2out.c: Include cfglayout.h.
3514 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
3515 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
3516 (struct call_arg_loc_node): New type.
3517 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
3518 tail_call_site_count): New variables.
3519 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
3520 DW_TAG_GNU_call_site_parameter.
3521 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
3522 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
3523 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
3524 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
3525 and DW_AT_GNU_all_source_call_sites.
3526 (mem_loc_descriptor): Handle ENTRY_VALUE.
3527 (add_src_coords_attributes): Don't add enything if
3528 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
3529 (dwarf2out_abstract_function): Save and clear call_arg_location,
3530 call_site_count and tail_call_site_count around dwarf2out_decl call.
3531 (gen_call_site_die): New function.
3532 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
3533 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
3534 (dwarf2out_function_decl): Clear call_arg_locations,
3535 call_arg_loc_last, set call_site_count and tail_call_site_count
3536 to -1 and free block_map.
3537 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
3538 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
3539 followed by any real instructions.
3540 (dwarf2out_begin_function): Set call_site_count and
3541 tail_call_site_count to 0.
3542 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
3543 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
3544 attempt to force a DIE for it and worst case remove the attribute.
3545 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
3546 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
3547 the decl itself.
3548 * var-tracking.c: Include tm_p.h.
3549 (vt_stack_adjustments): For calls call note_register_arguments.
3550 (argument_reg_set): New variable.
3551 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
3552 ensure the VALUE is resolved.
3553 (call_arguments): New variable.
3554 (prepare_call_arguments): New function.
3555 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
3556 (struct expand_loc_callback_data): Add ignore_cur_loc field.
3557 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
3558 always use the best expression.
3559 (vt_expand_loc): Add ignore_cur_loc argument.
3560 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
3561 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
3562 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
3563 note for all calls.
3564 (vt_add_function_parameter): Use cselib_lookup_from_insn.
3565 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
3566 argument. Don't call cselib_preserve_only_values and
3567 cselib_reset_table.
3568 (note_register_arguments): New function.
3569 (vt_initialize): Compute argument_reg_set. Call
3570 vt_add_function_parameters before processing basic blocks instead of
3571 afterwards. For calls call prepare_call_arguments before calling
3572 cselib_process_insn.
3573 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
3574 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
3575 (var-tracking.o): Depend on $(TM_P_H).
3576 * cfglayout.h (insn_scope): New prototype.
3577 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
3578 * cfglayout.c (insn_scope): No longer static.
3579 * insn-notes.def (CALL_ARG_LOCATION): New.
3580 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
3581 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
3582 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
3583 nothing for DECL_EXTERNAL BLOCK_VARS.
3584
9ef13bd0
AM
35852011-03-16 Alan Modra <amodra@gmail.com>
3586
3587 PR target/45844
3588 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
3589 create invalid offset address for vsx splat insn.
3590 * config/rs6000/predicates.md (splat_input_operand): New.
3591 * config/rs6000/vsx.md (vsx_splat_*): Use it.
3592
56b67510
XDL
35932011-03-15 Xinliang David Li <davidxl@google.com>
3594
3595 PR c/47837
3596 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
3597 (normalize_preds): New function.
3598 (is_use_properly_guarded): Normalize def predicates.
3599
80fffdef
RR
36002011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3601
732f37c6 3602 PR target/46788
80fffdef
RR
3603 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
3604 in the output template.
3605
930672ad
RG
36062011-03-15 Richard Guenther <rguenther@suse.de>
3607
3608 PR middle-end/47650
3609 * tree-pretty-print.c (dump_function_declaration): Properly
3610 dump unprototyped and varargs function types.
3611
c7ee7b45
RG
36122011-03-15 Richard Guenther <rguenther@suse.de>
3613
3614 PR tree-optimization/13954
3615 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
3616 and friends.
3617
b2ad5e37
RG
36182011-03-15 Richard Guenther <rguenther@suse.de>
3619
3620 PR tree-optimization/48037
3621 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
3622 selects into BIT_FIELD_REFs.
3623 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
3624 vector select.
3625
7ee93d4e
JJ
36262011-03-15 Jakub Jelinek <jakub@redhat.com>
3627
3628 PR tree-optimization/48129
3629 * builtins.c (fold_builtin_snprintf): Convert to type of
3630 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
3631 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
3632
e106efc7
RG
36332011-03-15 Richard Guenther <rguenther@suse.de>
3634
3635 PR tree-optimization/41490
3636 * tree-ssa-dce.c (propagate_necessity): Handle returns without
3637 value but with VUSE.
3638 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
3639 return statements.
3640 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
3641 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
3642 * tree-tailcall.c (find_tail_calls): Ignore returns.
3643
17dea42f
RG
36442011-03-15 Richard Guenther <rguenther@suse.de>
3645
3646 PR middle-end/48031
3647 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
3648 or variable-indexed array accesses when in gimple form.
3649
01c77a60
RG
36502011-03-15 Richard Guenther <rguenther@suse.de>
3651
16cc4440 3652 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 3653
77b0791e
AM
36542011-03-15 Alan Modra <amodra@gmail.com>
3655
3656 PR target/48032
3657 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
3658 presume symbol_refs without a symbol_ref_decl are suitably
3659 aligned, nor other trees we may see here. Handle anchor symbols.
3660 (legitimate_constant_pool_address_p): Comment. Add mode param.
3661 Check cmodel=medium addresses. Adjust all calls.
3662 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
3663 creating cmodel=medium optimized access to locals.
3664 * config/rs6000/constraints.md (R): Pass QImode to
3665 legitimate_constant_pool_address_p.
3666 * config/rs6000/predicates.md (input_operand): Pass mode to
3667 legitimate_constant_pool_address_p.
3668 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
3669 Update prototype.
3670
35f61ba4
MM
36712011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3672
3673 PR target/48053
3674 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
3675 64-bit constants being loaded into registers other than GPRs such
3676 as loading 0 into a VSX register.
3677
07332e6d
RO
36782011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3679
16cc4440 3680 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 3681
de888d90
JJ
36822011-03-14 Jakub Jelinek <jakub@redhat.com>
3683
ba3ceb2d
JJ
3684 PR middle-end/47917
3685 * builtins.c (fold_builtin_snprintf): New function.
3686 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
3687 (fold_builtin_4): Likewise.
3688
2e64f8b8
JJ
3689 PR middle-end/38878
3690 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
3691 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
3692 and C - X == X also strip nops from +/-/p+ operand.
3693 When optimizing -X == C, fold C to arg0's type.
3694
de888d90
JJ
3695 PR debug/47946
3696 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
3697 emit it as add_AT_int instead of add_AT_unsigned.
3698
36992011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
3700
3701 * unwind-dw2.c: Include sys/sdt.h if it exists.
3702 (_Unwind_DebugHook): Use STAP_PROBE2.
3703 * config.in, configure: Rebuild.
3704 * configure.ac: Check for sys/sdt.h.
3705
d34abfd2
UB
37062011-03-14 Uros Bizjak <ubizjak@gmail.com>
3707
3708 * config/i386/i386.md (ROUND_FLOOR): New constant.
3709 (ROUND_CEIL): Ditto.
3710 (ROUND_TRUNC): Ditto.
3711 (ROUND_MXCSR): Ditto.
3712 (ROUND_NO_EXC): Ditto.
3713 (rint<mode>2): Use new defines instead of numerical constants.
3714 (floor<mode>2): Ditto.
3715 (ceil<mode>2): Ditto.
3716 (btrunc<mode>2): Ditto.
3717 * config/i386/i386-builtin-types.def: Define ROUND function type
3718 aliases.
3719 * config/i386/i386.c (enum ix86_builtins): Add
3720 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
3721 (struct builtin_description): Add
3722 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
3723 (ix86_expand_sse_round): New static function.
3724 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
3725 function types.
3726 (ix86_builtin_vectorized_function): Handle
3727 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
3728
87f9e23d
TT
37292011-03-14 Tom Tromey <tromey@redhat.com>
3730
3731 * c-parser.c (c_parser_asm_string_literal): Clear
3732 warn_overlength_strings.
3733
b3ab9ea2
TT
37342011-03-14 Tom Tromey <tromey@redhat.com>
3735
3736 * c-parser.c (disable_extension_diagnostics): Save
3737 warn_overlength_strings.
3738 (restore_extension_diagnostics): Restore warn_overlength_strings.
3739
6bd73dd8
JJ
37402011-03-14 Jakub Jelinek <jakub@redhat.com>
3741
3742 * BASE-VER: Change to 4.7.0.
3743
7f4d6e1b
RG
37442011-03-14 Richard Guenther <rguenther@suse.de>
3745
3746 PR middle-end/48098
3747 * tree.c (build_vector_from_val): Adjust assert to requirements
3748 and reality.
3749
c6104ef1
JJ
37502011-03-14 Jakub Jelinek <jakub@redhat.com>
3751
3752 PR bootstrap/48102
d34abfd2 3753 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 3754
dfa95e19
AT
37552011-03-14 Andreas Tobler <andreast@fgznet.ch>
3756
3757 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
3758 terms of target_flags_explicit. Adjust copyright year.
3759
3760 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
3761 * config/rs6000/t-freebsd: New file. Add override for
3762 LIB2FUNCS_EXTRA.
3763
bb322018
CD
37642011-03-13 Chris Demetriou <cgd@google.com>
3765
3766 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
3767 (-fno-diagnostics-show-option): this, to reflect current default.
3768 (-Werror=): Update text about -fno-diagnostics-show-option.
3769
12b1c80b
PB
37702011-03-12 Peter Bergner <bergner@vnet.ibm.com>
3771
3772 PR target/48053
3773 * config/rs6000/predicates.md (easy_vector_constant_add_self,
3774 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
3775 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
3776 mode is not V2DImode or V2DFmode.
3777 (vspltis_constant): Do not handle V2DImode and V2DFmode.
3778 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
3779 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
3780 registers to 0.
3781 (movdi_internal64): Likewise.
3782
57d598f7
SP
37832011-03-12 Sebastian Pop <sebastian.pop@amd.com>
3784
3785 PR tree-optimization/47127
3786 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
3787 parameter.
3788 (set_cloog_options): Same.
3789 (scop_to_clast): Same.
3790 (print_clast_stmt): Do not call cloog_state_malloc and
3791 cloog_state_free.
3792 (print_generated_program): Same.
3793 (gloog): Same.
3794 * graphite-clast-to-gimple.h (cloog_state): Declared.
3795 (scop_to_clast): Adjust declaration.
3796 * graphite.c (cloog_state): Defined here.
3797 (graphite_initialize): Call cloog_state_malloc.
3798 (graphite_finalize): Call cloog_state_free.
3799
f231b5ff
JM
38002011-03-11 Jason Merrill <jason@redhat.com>
3801
3802 * attribs.c (lookup_attribute_spec): Take const_tree.
3803 * tree.h: Adjust.
3804
6a4e2bd5
JM
38052011-03-11 Joseph Myers <joseph@codesourcery.com>
3806
3807 * config/sparc/sparc.c (sparc_option_override): Use
3808 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
3809
a758fd67
RG
38102011-03-11 Richard Guenther <rguenther@suse.de>
3811
3812 PR tree-optimization/48067
3813 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
3814 multiplication result will be only used once on the target
3815 stmt.
3816
03dfda54
RG
38172011-03-11 Richard Guenther <rguenther@suse.de>
3818
3819 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
3820
5f11a50a
RG
38212011-03-11 Richard Guenther <rguenther@suse.de>
3822
3823 PR lto/48073
3824 * tree.c (find_decls_types_r): Do not walk types only reachable
3825 from IDENTIFIER_NODEs.
3826
4074f163
JJ
38272011-03-11 Jakub Jelinek <jakub@redhat.com>
3828
3829 PR middle-end/48044
3830 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
3831 all vnode->force_output nodes as needed.
3832
30f7cdcd
JM
38332011-03-11 Jason Merrill <jason@redhat.com>
3834
3835 PR c++/48069
3836 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
3837 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
3838
62ecfeb8
MJ
38392011-03-11 Martin Jambor <mjambor@suse.cz>
3840
3841 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
3842 cgraph_node.
3843
e89e03ab
JJ
38442011-03-11 Jakub Jelinek <jakub@redhat.com>
3845
3846 PR tree-optimization/48063
3847 * ipa-inline.c (cgraph_decide_inlining): Don't try to
3848 inline functions called once if !tree_can_inline_p (node->callers).
3849
efbe978b 38502011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 3851
efbe978b
EB
3852 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
3853 extra_objs.
9d6193a7
CL
3854 * config/score/score3.c: Delete.
3855 * config/score/score3.h: Delete.
3856 * config/score/mul-div.S: Delete.
3857 * config/score/sfp-machine.h: Add new file.
3858 * config/score/constraints.md: Add new file.
3859 * config/score/t-score-softfp: Add new file.
efbe978b 3860 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
3861 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
3862 (score7_extra_constraint): Delete.
efbe978b 3863 (score7_option_override): Remove unused code.
9d6193a7
CL
3864 * config/score/score.c: Remove score3 and score5 define and code.
3865 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 3866 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
3867 * config/score/score.opt: Remove score3 and score5 options.
3868
5de27cca
JDA
38692011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3870
3871 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
3872 when _HPUX_SOURCE is defined.
3873 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
3874
18d92053
JM
38752011-03-10 Jason Merrill <jason@redhat.com>
3876
3877 PR c++/48029
3878 * stor-layout.c (layout_type): Don't set structural equality
3879 on arrays of incomplete type.
3880 * tree.c (type_hash_eq): Handle comparing them properly.
3881
67a2f76d
JJ
38822011-03-10 Jakub Jelinek <jakub@redhat.com>
3883
3884 PR debug/48043
18d92053 3885 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
3886 result mode matches original rtl mode.
3887
d845b2f9
NC
38882011-03-10 Nick Clifton <nickc@redhat.com>
3889
3890 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 3891 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 3892
db7ec035
JJ
38932011-03-09 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR rtl-optimization/47866
3896 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
3897 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
3898 if target wasn't scalar.
3899 * function.c (assign_stack_temp_for_type): Assert that neither
3900 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
3901 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
3902 macro.
3903 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
3904
5d304e47
AK
39052011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3906
3907 * config/s390/s390-protos.h (s390_label_align): New prototype.
3908 * config/s390/s390.c (s390_label_align): New function.
3909 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
3910
93b826f0
MM
39112011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
3912
3913 PR target/47755
3914 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
3915 V2DI/V2DF constants. Only all 0's or all 1's are easy.
3916 (output_vec_const_move): Ditto.
3917
ef78aed6
AS
39182011-03-08 Anatoly Sokolov <aesok@post.ru>
3919
3920 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
3921 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
3922 * config/mips/mips.c (mips_preferred_reload_class): Make static.
3923 Change 'rclass' argument and result type to reg_class_t.
3924 (TARGET_PREFERRED_RELOAD_CLASS): Define.
3925
5f892aa0
GJL
39262011-03-08 Georg-Johann Lay <avr@gjlay.de>
3927
9e43ad68
UB
3928 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3929 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
3930 (TARGET_MEMORY_MOVE_COST): Define.
3931 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 3932
32bd2409
JJ
39332011-03-08 Jakub Jelinek <jakub@redhat.com>
3934
530a4800
JJ
3935 PR debug/47881
3936 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
3937 removed anything.
3938
32bd2409
JJ
3939 PR tree-optimization/48022
3940 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
3941 for EQ/NE_EXPR.
3942
c7148991
JJ
39432011-03-07 Jakub Jelinek <jakub@redhat.com>
3944
3945 PR debug/47991
3946 * var-tracking.c (find_use_val): Return NULL for
3947 cui->sets && cui->store_p BLKmode MEMs.
3948
43070a6e
AS
39492011-03-07 Anatoly Sokolov <aesok@post.ru>
3950
3951 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
3952 Remove.
3953 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
3954 xstormy16_print_operand_address): Remove.
3955 * config/stormy16/stormy16.c (xstormy16_print_operand,
3956 xstormy16_print_operand_address): Make static.
3957 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
3958
efbe978b 39592011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
3960
3961 PR target/47862
3962 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
3963 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
3964 before definition.
3965
cec8ac0b
ZD
39662011-03-07 Zdenek Dvorak <ook@ucw.cz>
3967
3968 PR bootstrap/48000
3969 * cfgloopmanip.c (fix_bb_placements): Return immediately
3970 if FROM is BASE_LOOP's header.
3971
59527282
PW
39722011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
3973
3974 * gimplify.c (gimplify_function_tree): Fix building calls
3975 to __builtin_return_address.
3976
617718f7
AM
39772011-03-07 Alan Modra <amodra@gmail.com>
3978
3979 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
3980 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
3981 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
3982 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
3983 return_mode args.
3984 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
3985 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
3986 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
3987 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
3988 * config/rs6000/rs6000.c
3989 (rs6000_elf_end_indicate_exec_stack): Rename to..
3990 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
3991 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
3992 (rs6000_file_start): ..here.
3993 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
3994 file scope variables.
3995 (call_ABI_of_interest): New function.
3996 (init_cumulative_args): Set above vars when function return value
3997 is a float, vector, or small struct.
3998 (rs6000_function_arg_advance_1): Likewise for function args.
3999 (rs6000_va_start): Set rs6000_passes_float if variable arg function
4000 references float args.
4001
38528d50
MX
40022011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
4003
4004 * doc/cfg.texi: Remove "See" before @ref.
4005 * doc/invoke.texi: Likewise.
4006
f42cf4f4
JM
40072011-03-05 Jason Merrill <jason@redhat.com>
4008
4009 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
4010
804a304d
AG
40112011-03-05 Anthony Green <green@moxielogic.com>
4012
4013 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
4014
634ee309
ZD
40152011-03-05 Zdenek Dvorak <ook@ucw.cz>
4016
4017 PR rtl-optimization/47899
4018 * cfgloopmanip.c (fix_bb_placements): Fix first argument
4019 to flow_loop_nested_p when moving the loop upward.
4020
6fe471c8
RE
40212011-03-05 Richard Earnshaw <rearnsha@arm.com>
4022
4023 PR target/47719
4024 * arm.md (movhi_insn_arch4): Accept any immediate constant.
4025
cc58ceee
JJ
40262011-03-05 Jakub Jelinek <jakub@redhat.com>
4027
4028 PR tree-optimization/47967
4029 * ipa-cp.c (build_const_val): Return NULL instead of creating
4030 VIEW_CONVERT_EXPR for mismatching sizes.
4031 (ipcp_create_replace_map): Return NULL if build_const_val failed.
4032 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
4033 give up on versioning.
4034
ea868305
AM
40352011-03-05 Alan Modra <amodra@gmail.com>
4036
4037 PR target/47986
4038 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4039 full cmodel medium/large lo_sum + high addresses.
4040
bc6ce334
AK
40412011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4042
4043 * config/s390/s390.c (s390_decompose_address): Reject non-literal
4044 pool references in UNSPEC_LTREL_OFFSET.
4045
87e7b310
JH
40462011-03-04 Jan Hubicka <jh@suse.cz>
4047
4048 PR lto/47497
4049 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
4050 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
4051 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
4052 Add node pointers.
87e7b310
JH
4053 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
4054 cgraph_add_thunk): Add node pointers.
4055 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
4056 associated to right node.
4057 (input_node): Update use of cgraph_same_body_alias
4058 and cgraph_add_thunk.
4059
d9c64246
CF
40602011-03-04 Changpeng Fang <changpeng.fang@amd.com>
4061
4062 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
4063 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
4064 modes when the flag -mprefer-avx128 is on.
d9c64246 4065
08707076
RS
40662011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
4067
4068 * dwarf2out.c (compare_loc_operands): Fix address handling.
4069
52517c81
AM
40702011-03-04 Alan Modra <amodra@gmail.com>
4071
4072 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
4073
b147c5b9
RG
40742011-03-04 Richard Guenther <rguenther@suse.de>
4075
4076 PR middle-end/47968
4077 * expmed.c (extract_bit_field_1): Prefer vector modes that
4078 vec_extract patterns can handle.
4079
8750672f
RG
40802011-03-04 Richard Guenther <rguenther@suse.de>
4081
4082 PR middle-end/47975
4083 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
4084
9eac0f2a
RH
40852011-03-04 Richard Henderson <rth@redhat.com>
4086
4087 * explow.c (emit_stack_save): Remove 'after' parameter.
4088 (emit_stack_restore): Likewise.
4089 * expr.h: Update to match.
4090 * builtins.c, calls.c, stmt.c: Likewise.
4091 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
4092 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
4093 * function.c (expand_function_end): Insert the emit_stack_save
4094 sequence before parm_birth_insn instead of after.
4095
dfee1406
UB
40962011-03-03 Uros Bizjak <ubizjak@gmail.com>
4097
4098 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
4099 (ssse3_pmaddubsw128): Ditto.
4100 (ssse3_pmaddubsw): Ditto.
4101
f1d4c3de
SE
41022011-03-03 Steve Ellcey <sje@cup.hp.com>
4103
4104 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
4105
71f3a3f5
JJ
41062011-03-03 Jakub Jelinek <jakub@redhat.com>
4107
423ed416
JJ
4108 PR c/47963
4109 * gimplify.c (omp_add_variable): Only call omp_notice_variable
4110 on TYPE_SIZE_UNIT if it is a DECL.
4111
71f3a3f5
JJ
4112 PR debug/47283
4113 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
4114 first operand is not is_gimple_mem_ref_addr, try to fold it.
4115 If the operand still isn't is_gimple_mem_ref_addr, clear
4116 MEM_EXPR on op0.
4117
4b1a5c0d
RG
41182011-03-03 Richard Guenther <rguenther@suse.de>
4119
4120 PR middle-end/47283
4121 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
4122 match comment.
4123 (refs_may_alias_p_1): For release branches return true if
4124 we are confused by our input.
4125
b46616fd
AK
41262011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4127
4128 * config/s390/s390.c (s390_function_value): Rename to ...
4129 (s390_function_and_libcall_value): ... this.
4130 (s390_function_value): New function.
4131 (s390_libcall_value): New function.
dfee1406 4132 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
4133 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
4134 target macro definitions.
4135 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
4136
46d8fabb
JM
41372011-03-02 Joseph Myers <joseph@codesourcery.com>
4138
4139 * config/i386/freebsd64.h (CC1_SPEC): Define.
4140 * config/i386/linux64.h (CC1_SPEC): Define.
4141 * config/i386/x86-64.h (CC1_SPEC): Don't define.
4142
6b1ce545
AS
41432011-03-02 Anatoly Sokolov <aesok@post.ru>
4144
4145 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4146 Remove.
4147 * config/stormy16/stormy16.c: Include reload.h.
4148 (xstormy16_memory_move_cost): New function.
4149 (TARGET_MEMORY_MOVE_COST): Define.
4150
34161e98
RS
41512011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
4152
4153 PR rtl-optimization/47925
4154 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
4155 with side effects. Remove the more-specific check for volatile asms.
4156
f60a97cf
AM
41572011-03-02 Alan Modra <amodra@gmail.com>
4158
4159 PR target/47935
4160 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
4161 toc relative addresses for valid offsets.
4162
f2ca11ca
RG
41632011-03-01 Richard Guenther <rguenther@suse.de>
4164
4165 PR tree-optimization/47890
4166 * tree-vect-loop.c (get_initial_def_for_induction): Set
4167 related stmt properly.
4168
7a00d9ea
RG
41692011-03-01 Richard Guenther <rguenther@suse.de>
4170
4171 PR lto/47924
4172 * lto-streamer.c (lto_record_common_node): Also register
4173 the canonical type.
4174
06c7edcc
RG
41752011-03-01 Richard Guenther <rguenther@suse.de>
4176
4177 PR lto/46911
4178 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
4179 Do not stream DECL_ABSTRACT_ORIGIN.
4180 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4181 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4182 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
4183 Do not stream DECL_ABSTRACT_ORIGIN.
4184 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
4185 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
4186
998871e9
AS
41872011-02-28 Anatoly Sokolov <aesok@post.ru>
4188
4189 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
4190 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 4191 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
4192 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
4193 Add 'outgoing' argument.
4194 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
4195 function.
4196 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4197 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4198
94369251
KT
41992011-02-28 Kai Tietz <kai.tietz@onevision.com>
4200
4201 PR debug/28047
4202 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
4203 (lookup_filename): Likewise.
b2e2ea67 4204 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 4205
80a832cd
JJ
42062011-02-28 Bernd Schmidt <bernds@codesourcery.com>
4207 Jakub Jelinek <jakub@redhat.com>
4208
4209 PR middle-end/47893
4210 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
4211 (assign_stack_local_1): Change last argument type to int.
4212 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
4213 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 4214 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
4215 (assign_stack_local): Adjust caller.
4216 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
4217 of assign_stack_local, pass 0 as last argument.
4218 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
4219 callers.
4220
1b500976
JJ
42212011-02-28 Jakub Jelinek <jakub@redhat.com>
4222
f61c6f34
JJ
4223 PR debug/47283
4224 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
4225 Use target address_mode and pointer_mode hooks instead of hardcoded
4226 Pmode and ptr_mode. Handle some simple cases of extending if
4227 POINTERS_EXTEND_UNSIGNED < 0.
4228 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
4229 Call convert_debug_memory_address.
4230 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
4231 convert_debug_memory_address.
4232
1b500976
JJ
4233 PR middle-end/46790
4234 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
4235 * configure: Regenerated.
4236 * config.in: Regenerated.
4237 * varasm.c (default_function_section): Return NULL
b2e2ea67 4238 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 4239
2f2935b6
MJ
42402011-02-28 Martin Jambor <mjambor@suse.cz>
4241
4242 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
4243 the description to match the printed values.
4244
474086eb
RG
42452011-02-28 Richard Guenther <rguenther@suse.de>
4246
4247 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
4248 of the copied scope tree.
4249
15bf6f3a
RW
42502011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4251
4252 * doc/extend.texi (Function Attributes): Avoid deeply (and
4253 wrongly) nested tables.
4254
f6b439c9
JJ
42552011-02-27 Jakub Jelinek <jakub@redhat.com>
4256
4257 PR middle-end/47903
4258 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
4259 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
4260 r isn't op0 nor op1.
4261
1d8ca2c7
GJL
42622011-02-23 Georg-Johann Lay <avr@gjlay.de>
4263
4264 * config/avr/avr.md: Remove magic comment for emacs.
4265
593fca4b
GJL
42662011-02-23 Georg-Johann Lay <avr@gjlay.de>
4267
4268 PR target/45261
4269 * config/avr/avr.c (avr_option_override): Use error on bad options.
4270 (avr_help): New function.
4271 (TARGET_HELP): Define.
4272
6609216e
GJL
42732011-02-22 Georg-Johann Lay <avr@gjlay.de>
4274
4275 PR target/42240
4276 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
4277 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
4278
03d458af
GP
42792011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
4280
4281 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
4282 (ARM Options): Ditto.
4283 (i386 and x86-64 Options): Ditto.
4284 (RX Options): Ditto.
4285 (SPARC Options): Ditto.
4286
1c379b78
TC
42872011-02-26 Tijl Coosemans <tijl@coosemans.org>
4288
4289 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
4290 FreeBSD 6 and later. Generally use cpu generic.
4291
d5ed058c 42922011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 4293
d5ed058c
GP
4294 * doc/cpp.texi: Update copyright years.
4295
509d65dd 42962011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 4297
509d65dd 4298 PR target/46898
308d39cd
SB
4299 * config/lm32/lm32.md (ashrsi3): Added needed variable.
4300
509d65dd 43012011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 4302
509d65dd 4303 PR target/46898
308d39cd
SB
4304 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
4305 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
4306 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
4307 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 4308 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
4309 (gen_int_relational): Move declarations to start of function.
4310
822ba6d7
EB
43112011-02-25 Eric Botcazou <ebotcazou@adacore.com>
4312
4313 PR tree-optimization/45470
4314 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
4315 can throw internally only.
4316 * tree-vect-stmts.c (vectorizable_call): Likewise.
4317
ef795fc2
AS
43182011-02-24 Anatoly Sokolov <aesok@post.ru>
4319
4320 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
4321 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
4322 * config/stormy16/stormy16-protos.h
4323 (xstormy16_preferred_reload_class): Remove.
4324 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
4325 static. Change 'rclass' argument and return type to reg_class_t.
4326 (TARGET_PREFERRED_RELOAD_CLASS,
4327 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
4328
1c3277ee
RG
43292011-02-24 Richard Guenther <rguenther@suse.de>
4330
4331 * lto-streamer-in.c (input_bb): Do not find referenced vars
4332 in debug statements.
4333
67e18edb
JM
43342011-02-23 Jason Merrill <jason@redhat.com>
4335
4336 * common.opt (fabi-version): Document v5 and v6.
4337
b14fad9d
RG
43382011-02-23 Richard Guenther <rguenther@suse.de>
4339
4340 PR tree-optimization/47849
4341 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
4342
7fcf46f5
JZ
43432011-02-23 Jie Zhang <jie@codesourcery.com>
4344
4345 * opts-common.c (decode_cmdline_option): Print empty string
4346 argument as "" in decoded->orig_option_with_args_text.
4347 * gcc.c (execute): Print empty string argument as ""
4348 in the verbose output.
4349 (do_spec_1): Keep empty string argument.
4350
f85b70fd
NF
43512011-02-23 Nathan Froyd <froydnj@codesourcery.com>
4352
4353 * config.gcc: Declare score-* and crx-* obsolete.
4354
b152a615
JZ
43552011-02-23 Jie Zhang <jie@codesourcery.com>
4356
4357 PR rtl-optimization/47763
4358 * web.c (web_main): Ignore naked clobber when replacing register.
4359
bb6e77bc
AS
43602011-02-22 Anatoly Sokolov <aesok@post.ru>
4361
4362 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
4363 Remove.
4364
68bf6491
SP
43652011-02-22 Sebastian Pop <sebastian.pop@amd.com>
4366
4367 PR doc/47848
4368 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
4369
88ee1fc7
MS
43702011-02-22 Mike Stump <mikestump@comcast.net>
4371
4372 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
4373 assembler.
4374 * configure: Regenerate.
4375
6042d1dd
CLT
43762011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
4377
4378 PR rtl-optimization/46002
4379 * ira-color.c (update_copy_costs): Change class intersection
4380 test to reg_class_contents[] test of 'hard_regno'.
4381
7de97f9e
JM
43822011-02-21 Joseph Myers <joseph@codesourcery.com>
4383
4384 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
4385 than Driver option.
4386 * config/hpux11.opt (mt): Likewise.
4387 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
4388 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
4389 * config/vax/elf.opt (mno-asm-pic): Likewise.
4390 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
4391
d1d46f9f
MS
43922011-02-21 Mike Stump <mikestump@comcast.net>
4393
4394 PR target/47822
4395 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
4396 tree so we can get save the type.
4397 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
4398 for CFString instead of trying to use past the end of the builtins.
4399 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
4400 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
4401 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
4402 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
4403 Rename to darwin_builtin_cfstring.
4404 (darwin_init_cfstring_builtins): Return the built type.
4405
23e0d930
UB
44062011-02-21 Uros Bizjak <ubizjak@gmail.com>
4407
4408 PR target/47840
4409 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
4410 (_mm256_insert_epi64): Use _mm_insert_epi64.
4411
192997cf
AS
44122011-02-21 Anatoly Sokolov <aesok@post.ru>
4413
4414 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4415 * config/stormy16/stormy16-protos.h
4416 (xstormy16_mode_dependent_address_p): Remove.
4417 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
4418 Make static. Change return type to bool. Change argument type to
4419 const_rtx. Remove dead code.
4420 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4421
e292d003
RG
44222011-02-21 Richard Guenther <rguenther@suse.de>
4423
4424 PR lto/47820
4425 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
4426 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
4427 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
4428 TUs context.
23e0d930 4429 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
4430 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
4431
77f846e9
RG
44322011-02-20 Richard Guenther <rguenther@suse.de>
4433
4434 PR lto/47822
4435 * tree.c (free_lang_data_in_decl): Clean builtins from
4436 the TU decl BLOCK_VARS.
23e0d930 4437
b2cddfc8
AO
44382011-02-19 Alexandre Oliva <aoliva@redhat.com>
4439
4440 PR debug/47620
4441 PR debug/47630
4442 * haifa-sched.c (fix_tick_ready): Skip tick computation
4443 for debug insns.
4444
becf4c11
RG
44452011-02-19 Richard Guenther <rguenther@suse.de>
4446
4447 PR lto/47647
4448 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
4449 Remove lazy BLOCK_VARS streaming.
4450 (lto_input_ts_block_tree_pointers): Likewise.
4451 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
4452
27f98305
JM
44532011-02-19 Joseph Myers <joseph@codesourcery.com>
4454
4455 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
4456
064bf3f4
JM
44572011-02-19 Joseph Myers <joseph@codesourcery.com>
4458
4459 * config/i386/biarch32.h, config/i386/mach.h,
4460 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
4461
9215ddc3
JJ
44622011-02-19 Jakub Jelinek <jakub@redhat.com>
4463
4464 PR target/47800
4465 * config/i386/i386.md (peephole2 for shift and plus): Use
4466 operands[1] original mode in the first insn.
4467
8b021004
MS
44682011-02-18 Mike Stump <mikestump@comcast.net>
4469
65ded153 4470 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 4471
f84ae14c
JH
44722011-02-18 Jan Hubicka <jh@suse.cz>
4473
4474 PR middle-end/47788
65ded153
EB
4475 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
4476 to zero when the function is not inlinable at all.
f84ae14c 4477
eddabc80
JDA
44782011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4479
4480 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
4481 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
4482 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
4483 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
4484 * config/pa/t-pa64: Likewise.
4485 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
4486
ca3da783
JJ
44872011-02-18 Jakub Jelinek <jakub@redhat.com>
4488
4489 PR driver/47787
4490 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
4491
430aa868
JDA
44922011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4493
4494 PR target/47792
4495 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
4496
4bf7ff7e
AS
44972011-02-18 Anatoly Sokolov <aesok@post.ru>
4498
4499 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
4500 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
4501 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
4502 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
4503 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
4504 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
4505 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
4506 m32r_load_postinc_p, m32r_store_preinc_predec_p,
4507 m32r_legitimate_address_p): New functions.
4508 * config/m32r/constraints.md (constraint "S"): Don't use
4509 STORE_PREINC_PREDEC_P.
4510 (constraint "U"): Don't use LOAD_POSTINC_P.
4511
7efcf910
CLT
45122011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
4513
4514 PR rtl-optimization/46178
4515 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
4516 compute ira_hard_regno_cover_class[].
4517
237d6259
RG
45182011-02-18 Richard Guenther <rguenther@suse.de>
4519
4520 PR lto/47798
4521 * lto-streamer.h (lto_global_var_decls): Declare.
4522 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
4523 statics for global var processing.
4524
12d80acc
RG
45252011-02-18 Richard Guenther <rguenther@suse.de>
4526
4527 PR tree-optimization/47737
4528 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
4529 edge dominance check.
4530
abfea58d
JJ
45312011-02-18 Jakub Jelinek <jakub@redhat.com>
4532
4533 PR debug/47780
4534 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
4535 avoid invalid rtx sharing.
4536
f73c8882
GP
45372011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
4538
4539 * doc/cpp.texi (Obsolete Features): Add background on the
4540 origin of assertions.
4541
d764a8e6
IS
45422011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4543
4544 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 4545 objc_abi == 2.
d764a8e6
IS
4546 * config/darwin.c (output_objc_section_asm_op): Added support for
4547 ABI v1 and v2.
4548 (is_objc_metadata): New.
4549 (darwin_objc2_section): New.
4550 (darwin_objc1_section): New.
4551 (machopic_select_section): Added support for ABI v1 and v2.
4552 (darwin_emit_objc_zeroed): New.
4553 (darwin_output_aligned_bss): Detect objc metadata and treat it
4554 appropriately.
4555 (darwin_asm_output_aligned_decl_common): Same.
4556 (darwin_asm_output_aligned_decl_local): Same.
4557 * config/darwin-sections.def: Updated for ABI v1 and v2.
4558 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
4559 compiling Objective-C code for the NeXT runtime, default to using
4560 ABI version 0 for 32-bit, and version 2 for 64-bit.
4561
0a8134ca
JM
45622011-02-17 Joseph Myers <joseph@codesourcery.com>
4563
4564 * common.opt (optimize_fast): New Variable.
4565 * opts.c (default_options_optimization): Use opts->x_optimize_fast
4566 instead of local variable ofast.
4567
0a256240
NP
45682011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
4569
4570 * doc/invoke.texi (fobjc-abi-version): Documented.
4571 (fobjc-nilcheck): Documented.
4572 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
4573 version.
4574
fa381cb2
JM
45752011-02-17 Joseph Myers <joseph@codesourcery.com>
4576
4577 PR driver/47390
4578 * common.opt (export-dynamic): New Driver option.
4579 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
4580
5437eaa6
JM
45812011-02-17 Joseph Myers <joseph@codesourcery.com>
4582
4583 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
4584
bb7e6d55
AO
45852011-02-17 Alexandre Oliva <aoliva@redhat.com>
4586 Jan Hubicka <jh@suse.cz>
4587
4588 PR debug/47106
4589 PR debug/47402
4590 * cfgexpand.c (account_used_vars_for_block): Remove.
4591 (estimated_stack_frame_size): Use referenced vars.
4592 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
4593 that were referenced in the original function. Test src_fn
4594 rather than cfun. Drop redundant get_var_ann.
4595 (setup_one_parameter): Drop redundant get_var_ann.
4596 (declare_return_variable): Likewise.
4597 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
4598 (copy_arguments_for_versioning): Drop redundant get_var_ann.
4599 * ipa-inline.c (compute_inline_parameters): Do not compute
4600 disregard_inline_limits here.
bb7e6d55
AO
4601 (compute_inlinable_for_current, pass_inlinable): New.
4602 (pass_inline_parameters): Require PROP_referenced_vars.
4603 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 4604 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
4605 (cgraph_analyze_function): Set .disregard_inline_limits.
4606 * tree-sra.c (convert_callers): Compute inliner parameters
4607 only for functions already in SSA form.
4608
f181a8a7
JM
46092011-02-17 Joseph Myers <joseph@codesourcery.com>
4610
4611 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
4612 -mlittle-endian-data.
4613
c6869789
JM
46142011-02-17 Joseph Myers <joseph@codesourcery.com>
4615
4616 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
4617 -mno-fpu, not -fpu and -no-fpu.
4618 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
4619 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
4620
fbf4bfd3
UB
46212011-02-17 Uros Bizjak <ubizjak@gmail.com>
4622
4623 PR target/43653
4624 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
4625 input reload with PLUS RTX.
4626
70be5dc7
JM
46272011-02-16 Joseph Myers <joseph@codesourcery.com>
4628
4629 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
4630 of InverseVar(MDMX).
4631
30b1646e
JM
46322011-02-16 Joseph Myers <joseph@codesourcery.com>
4633
4634 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
4635 --m4-340.
4636
ab7b71e9
JM
46372011-02-16 Joseph Myers <joseph@codesourcery.com>
4638
4639 * config/mn10300/mn10300.opt (mno-crt0): New.
4640
466f3f08
JM
46412011-02-16 Joseph Myers <joseph@codesourcery.com>
4642
4643 * config/m68k/uclinux.opt (static-libc): New Driver option.
4644
8226cd7b
JM
46452011-02-16 Joseph Myers <joseph@codesourcery.com>
4646
4647 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
4648
45cab1d7
JM
46492011-02-16 Joseph Myers <joseph@codesourcery.com>
4650
4651 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
4652 %{muser-extend-enabled}.
4653
65aab64f
RG
46542011-02-16 Richard Guenther <rguenther@suse.de>
4655
4656 PR tree-optimization/47738
4657 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
4658 the TODO from tree_predictive_commoning.
4659
fc2fa4fb
JL
46602011-02-15 Jeff Law <law@redhat.com>
4661
4662 Revert
4663 2011-01-25 Jeff Law <law@redhat.com>
4664
4665 PR rtl-optimization/37273
4666 * ira-costs.c (scan_one_insn): Detect constants living in memory and
4667 handle them like argument loads from stack slots. Do not double
4668 count memory for memory constants and argument loads from stack slots.
4669
4e380b8e
L
46702011-02-15 H.J. Lu <hongjiu.lu@intel.com>
4671
4672 PR middle-end/47725
4673 * combine.c (cant_combine_insn_p): Revert the last change.
4674
e3a69bb4
MM
46752011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
4676
4677 PR target/47755
4678 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
4679 mode for vector constants. Remove code that checks for TImode.
4680
de650422
AO
46812011-02-15 Alexandre Oliva <aoliva@redhat.com>
4682
4683 PR debug/47106
4684 PR debug/47402
4685 * cgraph.h (compute_inline_parameters): Return void.
4686 * ipa-inline.c (compute_inline_parameters): Adjust.
4687
30925d94
AO
46882011-02-15 Alexandre Oliva <aoliva@redhat.com>
4689
4690 PR debug/47106
4691 PR debug/47402
4692 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
4693 rather than decl.
4694 * cfgexpand.c (estimated_stack_frame_size): Likewise.
4695 * ipa-inline.c (compute_inline_parameters): Adjust.
4696
1b9a784a
AO
46972011-02-15 Alexandre Oliva <aoliva@redhat.com>
4698
4699 PR debug/47106
4700 PR debug/47402
4701 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
4702 Adjust all users. Pass FN to...
4703 * tree-flow-inline.h (first_referenced_var): ... this. Add
4704 fn argument.
4705 * ipa-struct-reorg.c: Adjust.
4706 * tree-dfa.c: Adjust.
4707 * tree-into-ssa.c: Adjust.
4708 * tree-sra.c: Adjust.
4709 * tree-ssa-alias.c: Adjust.
4710 * tree-ssa-live.c: Adjust.
4711 * tree-ssa.c: Adjust.
4712 * tree-ssanames.c: Adjust.
4713 * tree-tailcall.c: Adjust.
4714
27c6b086
AO
47152011-02-15 Alexandre Oliva <aoliva@redhat.com>
4716
4717 PR debug/47106
4718 PR debug/47402
4719 * tree-flow.h (referenced_var_lookup): Add fn parameter.
4720 Adjust all callers.
4721 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
4722 * tree-flow-inline.h: Adjust.
4723 * gimple-pretty-print.c: Adjust.
4724 * tree-into-ssa.c: Adjust.
4725 * tree-ssa.c: Adjust.
4726 * cfgexpand.c: Adjust.
4727
679e8183
NF
47282011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4729
fbf4bfd3
UB
4730 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
4731 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4732 (EXTRA_CONSTRAINT): Delete.
4733 * config/iq2000/constraints.md: New file.
4734 * config/iq2000/iq2000.md: Include it.
679e8183
NF
4735 (define_insn ""): Delete.
4736 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
4737 unsupported constraint letters from patterns.
4738 (call_value, call_value_internal1): Likewise.
4739 (call_value_multiple_internal1): Likewise.
4740
a45d420a
NC
47412011-02-15 Nick Clifton <nickc@redhat.com>
4742
4743 * config/mn10300/mn10300.c: Include tm-constrs.h.
4744 (struct liw_data): New data structure describing an LIW candidate
4745 instruction.
4746 (extract_bundle): Use struct liw_data. Allow small integer
4747 operands for some instructions.
4748 (check_liw_constraints): Use struct liw_data. Remove swapped
4749 parameter. Add comments describing the checks. Fix bug when
4750 assigning the source of liw1 to the source of liw2.
4751 (liw_candidate): Delete. Code moved into extract_bundle.
4752 (mn10300_bundle_liw): Use struct liw_data. Check constraints
4753 before swapping.
4754 * config/mn10300/predicates.md (liw_operand): New predicate.
4755 Allows registers and small integer constants.
4756 * config/mn10300/constraints.md (O): New constraint. Accetps
4757 integers in the range -8 to +7 inclusive.
4758 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
4759 for moving a small integer into a register. Give this alternative
4760 LIW attributes.
4761 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
4762 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
4763 using the J,K,L and M constraints,
4764 (liw): Remove SI mode on second operands to allow for HI and QI
4765 mode values.
4766 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
4767 instruction.
4768
8a73faf1
L
47692011-02-15 H.J. Lu <hongjiu.lu@intel.com>
4770
4771 PR middle-end/47725
4772 * combine.c (cant_combine_insn_p): Check zero/sign extended
4773 hard registers.
4774
48feba28
RG
47752011-02-15 Richard Guenther <rguenther@suse.de>
4776
4777 PR tree-optimization/47743
4778 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
4779 for a non-type-compatible VN lookup bail out.
4780
ad1c1eeb
NF
47812011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4782
4783 * config/fr30/constraints.md: New file.
4784 * config/fr30/fr30.md: Include it.
4785 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
4786 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4787 (EXTRA_CONSTRAINT): Delete.
4788
49ac143d
NF
47892011-02-15 Nathan Froyd <froydnj@codesourcery.com>
4790
4791 * config/frv/constraints.md: New file.
4792 * config/frv/predicates.md: Include it.
4793 * config/frv/frv.c (reg_class_from_letter): Delete.
4794 (frv_option_override): Don't initialize it.
4795 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
4796 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
4797 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
4798 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4799 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
4800 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4801 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
4802 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
4803 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
4804 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
4805 (REG_CLASS_FROM_CONSTRAINT): Delete.
4806
c95f9494
JJ
48072011-02-15 Jakub Jelinek <jakub@redhat.com>
4808
4809 PR middle-end/47581
4810 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
4811 if frame size is 0 in a leaf function.
4812
13aed611
RO
48132011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4814
4815 PR pch/14940
4816 * config/alpha/host-osf.c: New file.
4817 * config/alpha/x-osf: New file.
4818 * config.host (alpha*-dec-osf*): Use it.
4819
b09c3081
AS
48202011-02-14 Anatoly Sokolov <aesok@post.ru>
4821
4822 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4823 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
4824 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
4825 (rx_mode_dependent_address_p): ...this. Make static. Change argument
4826 type to const_rtx.
4827 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4828
d634083b
NF
48292011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4830
4831 * config/stormy16/constraints.md: New file.
4832 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
4833 Use satisfies_constraint_Q and satisfies_constraint_R.
4834 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
4835 Delete.
4836 (xstormy16_legitiamte_address_p): Declare.
4837 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
4838 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4839 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 4840 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
4841 Un-staticize.
4842 (xstormy16_extra_constraint_p): Delete.
4843
c7dd803e
EB
48442011-02-14 Eric Botcazou <ebotcazou@adacore.com>
4845
4846 PR tree-optimization/46494
4847 * loop-unroll.c (split_edge_and_insert): Adjust comment.
4848 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
4849 (pass_rtl_loop_done): Add TODO_verify_flow.
4850 * fwprop.c (pass_rtl_fwprop): Likewise.
4851 * modulo-sched.c (pass_sms): Likewise.
4852 * tree-ssa-dom.c (pass_dominator): Likewise.
4853 * tree-ssa-loop-ch.c (pass_ch): Likewise.
4854 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
4855 (pass_tree_loop_done): Likewise.
4856 * tree-ssa-pre.c (execute_pre): Likewise.
4857 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
4858 * tree-ssa-sink.c (pass_sink_code): Likewise.
4859 * tree-vrp.c (pass_vrp): Likewise.
4860
c6150df6
NF
48612011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4862
c7dd803e
EB
4863 * config/v850/constraints.md: New file.
4864 * config/v850/v850.md: Include it.
4865 * config/v850/predicates.md (reg_or_0_operand): Use
4866 satisfies_constraint_G.
4867 (special_symbolref_operand): Use satisfies_constraint_K.
4868 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
4869 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
4870 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
4871 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
4872 (EXTRA_CONSTRAINT): Delete.
4873 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
4874 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
4875 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 4876
30dd1ea3
AS
48772011-02-14 Anatoly Sokolov <aesok@post.ru>
4878
4879 PR target/47696
4880 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
4881 description.
4882
944f4bb3
NF
48832011-02-14 Nathan Froyd <froydnj@codesourcery.com>
4884
4885 * config/mcore/constraints.md: New file.
4886 * config/mcore/mcore.md: Include it.
4887 * config/mcore/mcore.c (reg_class_from_letter): Delete.
4888 * config/mcore/mcore.h (reg_class_from_letter): Delete.
4889 (REG_CLASS_FROM_LETTER): Delete.
4890 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
4891 insn_const_int_ok_for_constraint.
4892 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
4893 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
4894 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
4895 (EXTRA_CONSTRAINT): Delete.
4896
ad56a54c
RO
48972011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4898
4899 PR ada/41929
4900 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
4901 (IS_SIGHANDLER): Define.
4902 (sparc64_is_sighandler): New function, split off from
4903 sparc64_fallback_frame_state.
4904 (sparc_is_sighandler): New function, split off from
4905 sparc_fallback_frame_state.
4906 (sparc64_fallback_frame_state): Merge with ...
4907 (sparc_fallback_frame_state): ... this into ...
4908 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
4909 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
4910 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
4911 stack instead of hardcoded offsets.
ad56a54c 4912
fbf4bfd3 49132011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
4914
4915 PR target/45808
4916 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
4917
029c8f3e
RW
49182011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4919
4920 * configure: Regenerate.
4921
a016dc83
JM
49222011-02-12 Joseph Myers <joseph@codesourcery.com>
4923
4924 PR driver/45731
4925 * gcc.c (asm_options): Correct spec matching --target-help.
4926
8957a0ec
MJ
49272011-02-12 Martin Jambor <mjambor@suse.cz>
4928
4929 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
4930 to gimple call error.
4931
6ef828bc
MS
49322011-02-12 Mike Stump <mikestump@comcast.net>
4933
4934 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
4935 comments in backslash regions.
4936
a4015be5
MS
49372011-02-12 Mike Stump <mikestump@comcast.net>
4938 Jakub Jelinek <jakub@redhat.com>
4939 Iain Sandoe <iains@gcc.gnu.org>
4940
4941 PR target/47324
4942 * dwarf2out.c (output_cfa_loc): When required, apply the
4943 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
4944 (output_loc_sequence): Likewise.
4945 (output_loc_operands_raw): Likewise.
4946 (output_loc_sequence_raw): Likewise.
4947 (output_cfa_loc): Likewise.
4948 (output_loc_list): Suppress register number adjustment when
4949 calling output_loc_sequence()
4950 (output_die): Likewise.
4951
5378dda2
AS
49522011-02-12 Anatoly Sokolov <aesok@post.ru>
4953
4954 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
4955 Remove macros.
4956 * config/xtensa/xtensa.c (xtensa_register_move_cost,
4957 xtensa_memory_move_cost): New functions.
4958 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
4959
f3d533d3
AO
49602011-02-12 Alexandre Oliva <aoliva@redhat.com>
4961
4962 PR lto/47225
4963 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
4964 in the current directory.
4965 * configure: Rebuilt.
4966
9d53403c
IS
49672011-02-12 Iain Sandoe <iains@gcc.gnu.org>
4968
4969 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 4970 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
4971 correct indents of the preceding block.
4972
a350a6c8
IS
49732011-02-12 Iain Sandoe <iains@gcc.gnu.org>
4974
4975 * gcc.c (driver_handle_option): Concatenate the argument to -F with
4976 the switch.
4977
bab79a40
JM
49782011-02-11 Joseph Myers <joseph@codesourcery.com>
4979
4980 * common.opt (nostartfiles): New Driver option.
4981
1bbc6693
XDL
49822011-02-11 Xinliang David Li <davidxl@google.com>
4983
4984 PR tree-optimization/47707
4985 * tree-chrec.c (convert_affine_scev): Keep type precision.
4986
1da7d8c0
EB
49872011-02-11 Eric Botcazou <ebotcazou@adacore.com>
4988
4989 PR tree-optimization/47420
4990 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
4991
49922011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
4993
4994 PR rtl-optimization/47614
4995 * rtl.h (check_for_inc_dec): Declare.
4996 * dse.c (check_for_inc_dec): Externalize...
4997 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
4998 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
4999
4df47bca
JM
50002011-02-11 Joseph Myers <joseph@codesourcery.com>
5001
5002 PR driver/47678
5003 * gcc.c (main): Do not compile inputs if there were errors in
5004 option handling.
5005 * opts-common.c (read_cmdline_option): Check for wrong language
5006 after other error checks.
5007
61502ca8
NF
50082011-02-11 Nathan Froyd <froydnj@codesourcery.com>
5009
5010 * cgraph.c: Fix comment typos.
5011 * cgraph.h: Likewise.
5012 * cgraphunit.c: Likewise.
5013 * ipa-cp.c: Likewise.
5014 * ipa-inline.c: Likewise.
5015 * ipa-prop.c: Likewise.
5016 * ipa-pure-const.c: Likewise.
5017 * ipa-ref.c: Likewise.
5018 * ipa-reference.c: Likewise.
5019
b63f974e
JJ
50202011-02-11 Jakub Jelinek <jakub@redhat.com>
5021
d50c5e0c
JJ
5022 PR debug/47684
5023 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 5024
6dd2a13c
RO
50252011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5026
5027 PR testsuite/47400
5028 * doc/sourcebuild.texi (Require Support): Document
5029 dg-require-ascii-locale.
5030
4a087ccf
MX
50312011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
5032
5033 * doc/lto.texi (Write summary): Fix missing parentheses.
5034
a4403164
DD
50352011-02-10 DJ Delorie <dj@redhat.com>
5036
5037 * config/m32c/m32c.c (m32c_option_override): Disable
5038 -fcombine-stack-adjustments until flag value tracking and compare
5039 optimization can be rewritten.
5040
4fac45bd
PB
50412011-02-10 Peter Bergner <bergner@vnet.ibm.com>
5042
5043 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
5044 PROCESSOR_POWER7.
5045 (PROCESSOR_DEFAULT64): Likewise.
5046
72602cd1
RH
50472011-02-10 Richard Henderson <rth@redhat.com>
5048
5049 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
5050 change from 2011-02-03.
5051 * config/rx/rx.c (flags_from_code): Likewise.
5052 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
5053 is valid, n/pz otherwise.
5054 (rx_select_cc_mode): Return CCmode if Y is not zero.
5055
ea57f573
RG
50562011-02-10 Richard Guenther <rguenther@suse.de>
5057
ea4c3e65 5058 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 5059
92b1d23b
RG
50602011-02-10 Richard Guenther <rguenther@suse.de>
5061
5062 PR tree-optimization/47677
5063 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
5064
525a2d06
JJ
50652011-02-10 Jakub Jelinek <jakub@redhat.com>
5066
5067 PR target/47665
5068 * combine.c (make_compound_operation): Only change shifts into
5069 multiplication for SCALAR_INT_MODE_P.
5070
06c969bd
JZ
50712011-02-10 Jie Zhang <jie@codesourcery.com>
5072
5073 PR testsuite/47622
5074 Revert
5075 2011-02-05 Jie Zhang <jie@codesourcery.com>
5076 PR debug/42631
5077 * web.c (entry_register): Don't clobber the number of the
5078 first uninitialized reference in used[].
5079
282ec48e
RG
50802011-02-09 Richard Guenther <rguenther@suse.de>
5081
5082 PR tree-optimization/47664
5083 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
5084 all edges again.
5085
df98c3e8
DE
50862011-02-09 David Edelsohn <dje.gcc@gmail.com>
5087
d0f21cd6
DE
5088 PR target/46481
5089 PR target/47032
df98c3e8
DE
5090 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
5091 PROCESSOR_POWER7.
5092 (PROCESSOR_DEFAULT64): Same.
5093 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
5094
67b6839f
RO
50952011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5096
5097 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
5098
4fd73214
MJ
50992011-02-09 Martin Jambor <mjambor@suse.cz>
5100
5101 PR middle-end/45505
5102 * tree-sra.c (struct access): New flags grp_scalar_read and
5103 grp_scalar_write. Changed description of assignment read and write
5104 flags.
5105 (dump_access): Dump new flags, reorder all of them.
5106 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
5107 to detect multiple scalar reads.
5108 (analyze_access_subtree): Use the new scalar read write flags instead
5109 of the old flags. Adjusted comments.
5110
91140cd3
DD
51112011-02-08 DJ Delorie <dj@redhat.com>
5112
5113 PR target/47548
5114 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
5115 patterns.
5116
4254bbfe
JM
51172011-02-08 Joseph Myers <joseph@codesourcery.com>
5118
5119 * config/m68k/uclinux.opt: New.
5120 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
5121
f1fda84e
JM
51222011-02-08 Joseph Myers <joseph@codesourcery.com>
5123
5124 * config/cris/elf.opt (sim): New Driver option.
5125
4933ae74
JM
51262011-02-08 Joseph Myers <joseph@codesourcery.com>
5127
5128 * config/xtensa/elf.opt: New.
5129 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
5130
4ad70280
JM
51312011-02-08 Joseph Myers <joseph@codesourcery.com>
5132
5133 * config/vax/elf.opt: New.
5134 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
5135
20893707
JM
51362011-02-08 Joseph Myers <joseph@codesourcery.com>
5137
5138 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
5139
b8e7038e
JM
51402011-02-08 Joseph Myers <joseph@codesourcery.com>
5141
5142 * config/gnu-user.opt: New.
5143 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
5144 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
5145 *-*-uclinux*): Use gnu-user.opt.
5146
e1c5225a
TS
51472011-02-08 Thomas Schwinge <thomas@schwinge.name>
5148
5149 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
5150 * config/i386/gnu.h (CPP_SPEC): Likewise.
5151
5e46b0c6
ILT
51522011-02-08 Ian Lance Taylor <iant@google.com>
5153
5154 * common.opt (fcx-limited-range): Add SetByCombined flag.
5155 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
5156 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
5157 (fassociative-math, freciprocal-math): Likewise.
5158 (funsafe-math-optimizations): Likewise.
5159 * opth-gen.awk: Handle SetByCombined.
5160 * optc-gen.awk: Likewise.
ea4c3e65 5161 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
5162 (set_unsafe_math_optimizations_flags): Likewise.
5163 * doc/options.texi (Option properties): Document SetByCombined.
5164
32243d46
JM
51652011-02-08 Joseph Myers <joseph@codesourcery.com>
5166
5167 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
5168 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
5169 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
5170 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
5171 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
5172
479c1fb3
SP
51732011-02-08 Sebastian Pop <sebastian.pop@amd.com>
5174
5175 PR tree-optimization/46834
5176 PR tree-optimization/46994
5177 PR tree-optimization/46995
5178 * graphite-sese-to-poly.c (used_outside_reduction): New.
5179 (detect_commutative_reduction): Call used_outside_reduction.
5180 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
5181 translate_scalar_reduction_to_array only when at least one
5182 loop-phi/close-phi tuple has been detected.
5183
3865a06f
RG
51842011-02-08 Richard Guenther <rguenther@suse.de>
5185
5186 PR middle-end/47639
5187 * tree-vect-generic.c (expand_vector_operations_1): Update
5188 stmts here ...
5189 (expand_vector_operations): ... not here. Cleanup EH info
5190 and the CFG if required.
5191
62902f3f
RG
51922011-02-08 Richard Guenther <rguenther@suse.de>
5193
5194 PR tree-optimization/47641
5195 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
5196 require type compatibility.
5197
0efb9d64
AK
51982011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5199
5200 * gimple-low.c (lower_function_body): Don't remove the location of
5201 the return statement here.
5202 (lower_gimple_return): Do it here instead but only if the return
5203 statement is actually used twice.
5204
034b8ae4
RG
52052011-02-08 Richard Guenther <rguenther@suse.de>
5206
5207 PR tree-optimization/47632
5208 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
5209 unused up_to_stmt parameter, return whether cfg-cleanup is
5210 necessary, remove EH info properly.
5211 (forward_propagate_into_gimple_cond): Adjust caller.
5212 (forward_propagate_into_cond): Likewise.
5213 (forward_propagate_comparison): Likewise.
5214 (tree_ssa_forward_propagate_single_use_vars): Make
5215 forward_propagate_comparison case similar to the two others.
5216
298362c8
NC
52172011-02-08 Nick Clifton <nickc@redhat.com>
5218
5219 * config/mn10300/mn10300.opt (mliw): New command line option.
5220 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
5221 (liw_bundling): New automaton.
5222 (liw): New attribute.
5223 (liw_op): New attribute.
5224 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
5225 (movsi_internal): Add LIW attributes.
5226 (andsi3): Likewise.
5227 (iorsi3): Likewise.
5228 (xorsi3): Likewise.
5229 (addsi3): Separate register and immediate alternatives.
5230 Add LIW attributes.
5231 (subsi3): Likewise.
5232 (cmpsi): Likewise.
5233 (aslsi3): Likewise.
5234 (lshrsi3): Likewise.
5235 (ashrsi3): Likewise.
5236 (liw): New pattern.
5237 * config/mn10300/mn10300.c (liw_op_names): New
5238 (mn10300_print_operand): Handle 'W' operand descriptor.
5239 (extract_bundle): New function.
5240 (check_liw_constraints): New function.
5241 (liw_candidate): New function.
5242 (mn10300_bundle_liw): New function.
5243 (mn10300_reorg): New function.
5244 (TARGET_MACHINE_DEPENDENT_REORG): Define.
5245 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
5246 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
5247 __LIW__ or __NO_LIW__.
5248 * doc/invoke.texi: Describe the -mliw command line option.
5249
90488014
JDA
52502011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5251
5252 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
5253 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
5254 pthread_mutex_unlock): Remove.
5255 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
5256 * config/pa/t-pa64: Likewise.
5257 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
5258 shared libc if not linking against libpthread.
5259 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
5260
689ff841
IS
52612011-02-07 Iain Sandoe <iains@gcc.gnu.org>
5262
5263 PR target/47558
5264 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
5265 on 10.6 and later to ensure that we always use the unwinder from
5266 the system. Only add -no_compact_unwind when tarteting darwin
5267 10.6 or later.
5268
821014aa
SE
52692011-02-07 Steve Ellcey <sje@cup.hp.com>
5270
5271 PR target/46997
5272 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
5273 (vec_interleave_lowv2sf): Ditto.
5274 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
5275 (vec_extract_oddv2sf): Ditto.
5276
41cf94fb
MS
52772011-02-07 Mike Stump <mikestump@comcast.net>
5278
62dea57d 5279 PR target/42333
41cf94fb
MS
5280 Add __ieee_divdc3 entry point.
5281 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
5282 entry point.
5283 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
5284 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
5285 * config/darwin.c (darwin_rename_builtins): Add.
5286 * config/darwin-protos.h (darwin_rename_builtins): Add.
5287
ee09a3dd
MM
52882011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
5289
5290 PR target/47636
5291 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
5292 for the condition.
5293
83296cd0
MS
52942011-02-07 Mike Stump <mikestump@comcast.net>
5295
ea4c3e65 5296 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 5297
0f4e946f
DC
52982011-02-07 Denis Chertykov <chertykov@gmail.com>
5299
5300 PR target/47534
5301 * config/avr/libgcc.S (exit): Move .endfunc
5302
1ec87690
RG
53032011-02-07 Richard Guenther <rguenther@suse.de>
5304
5305 PR tree-optimization/47615
5306 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
5307 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
5308 (run_scc_vn): Initialize it.
5309 (visit_reference_op_load): Use it.
5310 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
5311
b46ae6da
UW
53122011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5313
5314 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
5315 DImode trapping arithmetic libfuncs.
5316
c0aae19c
RG
53172011-02-07 Richard Guenther <rguenther@suse.de>
5318
5319 PR tree-optimization/47621
5320 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
5321 two duplicates ...
5322 (execute_update_addresses_taken): ... here. Make it more
5323 conservative in what we accept.
5324
295d926b
JM
53252011-02-06 Joseph Myers <joseph@codesourcery.com>
5326
5327 * config/sparc/freebsd.h (ASM_SPEC): Define.
5328 * config/sparc/vxworks.h (ASM_SPEC): Define.
5329
bdeb2471
JM
53302011-02-06 Joseph Myers <joseph@codesourcery.com>
5331
5332 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5333
d5d3781a
SB
53342011-02-06 Steven Bosscher <steven@gcc.gnu.org>
5335
5336 * doc/invoke.texi: Remove reference to compiler internals from
5337 user documentation.
5338
5339 * reg-notes.def: Remove REG_VALUE_PROFILE.
5340 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
5341
c42c09fc
JJ
53422011-02-05 Jakub Jelinek <jakub@redhat.com>
5343
5344 PR middle-end/47610
5345 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 5346 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 5347
beea2755
JZ
53482011-02-05 Jie Zhang <jie@codesourcery.com>
5349
5350 PR debug/42631
5351 * web.c (entry_register): Don't clobber the number of the
5352 first uninitialized reference in used[].
5353
a130584a
SP
53542011-02-04 Sebastian Pop <sebastian.pop@amd.com>
5355
5356 PR tree-optimization/46194
5357 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
5358 (build_classic_dist_vector_1): Do not represent classic distance
5359 vectors when the access functions are variating in different loops.
5360
962101ac
JM
53612011-02-04 Joseph Myers <joseph@codesourcery.com>
5362
5363 * config/mips/iris6.opt: New.
5364 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
5365
55eaaa5b
RH
53662011-02-04 Richard Henderson <rth@redhat.com>
5367 Steve Ellcey <sje@cup.hp.com>
5368
5369 PR target/46997
5370 * config/ia64/predicates.md (mux1_brcst_element): New.
5371 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
5372 * config/ia64/ia64.c (ia64_unpack_assemble): New.
5373 (ia64_unpack_sign): New.
5374 (ia64_expand_unpack): Rewrite using new routines.
5375 (ia64_expand_widen_sum): Ditto.
5376 (ia64_expand_dot_prod_v8qi): Ditto.
5377 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
5378 routines, add endian check.
5379 (pmpy2_even): Rename from pmpy2_r, add endian check.
5380 (pmpy2_odd): Rename from pmpy2_l, add endian check.
5381 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
5382 (vec_widen_smult_hi_v4hi): Ditto.
5383 (vec_widen_umult_lo_v4hi): Ditto.
5384 (vec_widen_umult_hi_v4hi): Ditto.
5385 (mulv2si3): Change endian checks.
5386 (sdot_prodv4hi): Rewrite with new calls.
5387 (udot_prodv4hi): New.
5388 (vec_pack_ssat_v4hi): Add endian check.
5389 (vec_pack_usat_v4hi): Ditto.
5390 (vec_pack_ssat_v2si): Ditto.
5391 (max1_even): Rename from max1_r, add endian check.
5392 (max1_odd): Rename from max1_l, add endian check.
5393 (*mux1_rev): Format change.
5394 (*mux1_mix): Ditto.
5395 (*mux1_shuf): Ditto.
5396 (*mux1_alt): Ditto.
5397 (*mux1_brcst_v8qi): Use new predicate.
5398 (vec_extract_evenv8qi): Remove endian check.
5399 (vec_extract_oddv8qi): Ditto.
5400 (vec_interleave_lowv4hi): Format change.
5401 (vec_interleave_highv4hi): Ditto.
5402 (mix2_even): Rename from mix2_r, add endian check.
5403 (mix2_odd): Rename from mux2_l, add endian check.
5404 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
5405 (vec_extract_evenodd_helper): Format change.
5406 (vec_extract_evenv4hi): Remove endian check.
5407 (vec_extract_oddv4hi): Remove endian check.
5408 (vec_interleave_lowv2si): Format change.
5409 (vec_interleave_highv2si): Format change.
5410 (vec_initv2si): Remove endian check.
5411 (vecinit_v2si): Add endian check.
5412 (reduc_splus_v2sf): Add endian check.
5413 (reduc_smax_v2sf): Ditto.
5414 (reduc_smin_v2sf): Ditto.
5415 (vec_initv2sf): Remove endian check.
5416 (fpack): Add endian check.
5417 (fswap): Add endian check.
5418 (vec_interleave_highv2sf): Add endian check.
5419 (vec_interleave_lowv2sf): Add endian check.
5420 (fmix_lr): Add endian check.
5421 (vec_setv2sf): Format change.
5422 (*vec_extractv2sf_0_be): Use shift to extract operand.
5423 (*vec_extractv2sf_1_be): New.
5424 (vec_pack_trunc_v4hi): Add endian check.
5425 (vec_pack_trunc_v2si): Format change.
5426
dcde5957
JJ
54272011-02-04 Jakub Jelinek <jakub@redhat.com>
5428
5429 PR inline-asm/23200
5430 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 5431 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
5432 (stmt_is_replaceable_p): New function.
5433 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
5434 callers.
5435 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
5436 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
5437 SSA_NAME_DEF_STMT.
5438 * tree-flow.h (stmt_is_replaceable_p): New prototype.
5439
a64a8e5a
JM
54402011-02-04 Joseph Myers <joseph@codesourcery.com>
5441
5442 * config/rs6000/xilinx.opt: New.
5443 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
5444
4da2ed2f
JM
54452011-02-04 Joseph Myers <joseph@codesourcery.com>
5446
5447 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
5448
a6e508f9
AS
54492011-02-03 Anatoly Sokolov <aesok@post.ru>
5450
5451 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
5452 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
5453 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
5454 secondary_reload_info, xtensa_secondary_reload): Remove.
5455 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
5456 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
5457 (xtensa_preferred_reload_class): Make static. Change return and
5458 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
5459 Use CONST_DOUBLE_P predicate.
5460 (xtensa_preferred_output_reload_class): New function.
5461 (xtensa_secondary_reload): Make static.
5462
82dc0de3
JM
54632011-02-03 Joseph Myers <joseph@codesourcery.com>
5464
5465 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
5466 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
5467 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
5468
7fece979
JJ
54692011-02-03 Jakub Jelinek <jakub@redhat.com>
5470
5471 PR middle-end/31490
5472 * output.h (SECTION_RELRO): Define.
5473 (SECTION_MACH_DEP): Adjust.
5474 (get_variable_section): New prototype.
5475 * varpool.c (varpool_finalize_named_section_flags): New function.
5476 (varpool_assemble_pending_decls): Call it.
5477 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
5478 * cgraphunit.c (cgraph_output_in_order): Call
5479 varpool_finalize_named_section_flags.
5480 * varasm.c (get_section): Allow section flags conflicts between
5481 relro and read-only sections if the section hasn't been declared yet.
5482 Set SECTION_OVERRIDE after diagnosing section type conflict.
5483 (get_variable_section): No longer static.
5484 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
5485 readonly sections that need relocations.
5486 (decl_readonly_section_1): New function.
5487 (decl_readonly_section): Use it.
5488
5489 Revert:
509d65dd 5490 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
5491 Steve Ellcey <sje@cup.hp.com>
5492
5493 PR middle-end/31490
5494 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
5495 if section attribute used.
5496
d18d5478
JJ
54972011-02-03 Jakub Jelinek <jakub@redhat.com>
5498
5499 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
5500 * config/darwin.c (SECTION_NO_ANCHOR): Define.
5501 (darwin_init_sections): Remove assertion.
5502
6479ed4b
NC
55032011-02-03 Nick Clifton <nickc@redhat.com>
5504
5505 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
5506 lt and ge.
38be4072 5507 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
5508 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
5509 instead of "n" and "pz".
5510 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
5511 CC_FLAG_S.
5512
89843f5d
JJ
55132011-02-03 Jakub Jelinek <jakub@redhat.com>
5514
65450d64
JJ
5515 PR target/47312
5516 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
5517 fma, expand FMA_EXPR as fma{,f,l} call.
5518
7d58701c
JJ
5519 PR lto/47274
5520 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
5521 copy them into a unsigned char variable and pass address of it to
5522 lto_output_data_stream.
5523
89843f5d
JJ
5524 PR target/47564
5525 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
5526 around backend_init_target and lang_dependent_init_target calls.
5527 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
5528 (verify_cgraph_node): Don't call set_cfun here. Use
5529 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
5530 Set error_found for incorrectly represented calls to thunks.
5531
4deef538
AO
55322011-02-03 Alexandre Oliva <aoliva@redhat.com>
5533
5534 PR debug/43092
5535 PR rtl-optimization/43494
5536 * rtl.h (for_each_inc_dec_fn): New type.
5537 (for_each_inc_dec): Declare.
5538 * rtlanal.c (struct for_each_inc_dec_ops): New type.
5539 (for_each_inc_dec_find_inc_dec): New fn.
5540 (for_each_inc_dec_find_mem): New fn.
5541 (for_each_inc_dec): New fn.
5542 * dse.c (struct insn_size): Remove.
5543 (replace_inc_dec, replace_inc_dec_mem): Remove.
5544 (emit_inc_dec_insn_before): New fn.
5545 (check_for_inc_dec): Use it, along with for_each_inc_dec.
5546 (canon_address): Pass mem modes to cselib_lookup.
5547 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
5548 (cselib_lookup_from_insn): Likewise.
5549 (cselib_subst_to_values): Likewise.
5550 * cselib.c (find_slot_memmode): New var.
5551 (cselib_find_slot): New fn. Use it instead of
5552 htab_find_slot_with_hash everywhere.
5553 (entry_and_rtx_equal_p): Use find_slot_memmode.
5554 (autoinc_split): New fn.
5555 (rtx_equal_for_cselib_p): Rename and implement in terms of...
5556 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
5557 Deal with autoinc. Special-case recursion into MEMs.
5558 (cselib_hash_rtx): Likewise.
5559 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
5560 address and MEM modes.
5561 (cselib_subst_to_values): Add memmode, pass it on.
5562 Deal with autoinc.
5563 (cselib_lookup): Add memmode argument, pass it on.
5564 (cselib_lookup_from_insn): Add memmode.
5565 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
5566 (struct cselib_record_autoinc_data): New.
5567 (cselib_record_autoinc_cb): New fn.
5568 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
5569 mode to cselib_lookup. Reset autoinced REGs here instead of...
5570 (cselib_process_insn): ... here.
5571 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
5572 to cselib_lookup.
5573 (add_uses): Likewise, also to cselib_subst_to_values.
5574 (add_stores): Likewise.
5575 * sched-deps.c (add_insn_mem_dependence): Pass mode to
5576 cselib_subst_to_values.
5577 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
5578 * gcse.c (do_local_cprop): Adjusted.
5579 * postreload.c (reload_cse_simplify_set): Adjusted.
5580 (reload_cse_simplify_operands): Adjusted.
5581 * sel-sched-dump (debug_mem_addr_value): Pass mode.
5582
1551d44a
AO
55832011-02-03 Alexandre Oliva <aoliva@redhat.com>
5584
5585 PR tree-optimization/45122
5586 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
5587 unsafe assumptions when there's more than one loop exit.
5588
c9485473
MM
55892011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5590
5591 PR target/47272
5592 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5593 Document using vector double with the load/store builtins, and
5594 that the load/store builtins always use Altivec instructions.
5595
5596 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
5597 to use altivec memory instructions, even on VSX.
5598 (vector_altivec_store_<mode>): Ditto.
5599
5600 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
5601 function.
5602
5603 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5604 V2DF, V2DI support to load/store overloaded builtins.
5605
5606 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
5607 altivec load/store builtins for V2DF/V2DI types.
5608
5609 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5610 set avoid indexed addresses on power6 if -maltivec.
5611 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
5612 vector_altivec_load/vector_altivec_store builtins.
5613 (altivec_expand_st_builtin): Ditto.
5614 (altivec_expand_builtin): Add VSX memory builtins.
5615 (rs6000_init_builtins): Add V2DI types to internal types.
5616 (altivec_init_builtins): Add support for V2DF/V2DI altivec
5617 load/store builtins.
5618 (rs6000_address_for_altivec): Insure memory address is appropriate
5619 for Altivec.
5620
5621 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
5622 vec_vsx_ld and vec_vsx_st.
5623 (vsx_store_<mode>): Ditto.
5624
5625 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
5626 variables to hold long long types for VSX vector memory builtins.
5627 (RS6000_BTI_unsigned_long_long): Ditto.
5628 (long_long_integer_type_internal_node): Ditti.
5629 (long_long_unsigned_type_internal_node): Ditti.
5630
5631 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
5632 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
5633 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
5634
5635 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
5636 short cuts.
5637 (vec_vsx_st): Ditto.
5638
b24d1acf
JM
56392011-02-02 Joseph Myers <joseph@codesourcery.com>
5640
5641 * config/pa/pa-hpux10.opt: New.
5642 * config/hpux11.opt (pthread): New Driver option.
5643 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
5644 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
5645
aa18dd0f
JM
56462011-02-02 Joseph Myers <joseph@codesourcery.com>
5647
5648 * config/ia64/vms.opt: New.
5649 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
5650
28fc3eee
MM
56512011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5652
5653 PR target/47580
5654 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
5655 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
5656 generator functions.
5657 (vsx_floatuns<VSi><mode>2): Ditto.
5658 (vsx_fix_trunc<mode><VSi>2): Ditto.
5659 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
5660
b5838b1f
JM
56612011-02-02 Joseph Myers <joseph@codesourcery.com>
5662
5663 * config/i386/djgpp.opt (posix): New Driver option.
5664
0db8fa89
GP
56652011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
5666
5667 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
5668 Move to the unsupported targets list.
5669
9cd4f22a
PB
56702011-02-02 Peter Bergner <bergner@vnet.ibm.com>
5671
5672 PR rtl-optimization/47525
5673 * df-scan.c: Update copyright years.
5674 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
5675 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
5676
9ed8059c
RO
56772011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5678
5679 * config/i386/sysv4.h (TARGET_VERSION): Remove.
5680 (SUBTARGET_RETURN_IN_MEMORY): Remove.
5681 (ASM_OUTPUT_ASCII): Remove.
5682 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
5683
2a737389
JL
56842011-02-02 Jeff Law <law@redhat.com>
5685
5686 PR middle-end/47543
5687 * reload.c (find_reloads_address): Handle reg+d address where both
5688 components are invalid by reloading the entire address.
5689
9dac82c4
SP
56902011-02-02 Sebastian Pop <sebastian.pop@amd.com>
5691 Richard Guenther <rguenther@suse.de>
5692
5693 PR tree-optimization/40979
5694 PR bootstrap/47044
5695 * passes.c (init_optimization_passes): After LIM call copy_prop
5696 and DCE to clean up.
5697 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
5698
14dd9aab
SP
56992011-02-02 Sebastian Pop <sebastian.pop@amd.com>
5700
5701 PR tree-optimization/47576
5702 PR tree-optimization/47555
5703 * doc/invoke.texi (scev-max-expr-complexity): Documented.
5704 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5705 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
5706 * tree-scalar-evolution.c (follow_ssa_edge): Use
5707 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
5708
5cbf5c20
RG
57092011-02-02 Richard Guenther <rguenther@suse.de>
5710
5711 PR tree-optimization/47566
5712 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
5713
83d70792
AO
57142011-02-02 Alexandre Oliva <aoliva@redhat.com>
5715
e829c321
AO
5716 PR debug/47106
5717 PR debug/47402
5718 * tree-inline.c (declare_return_variable): Remove unused caller
5719 variable.
5720
83d70792
AO
5721 PR debug/47106
5722 PR debug/47402
5723 * tree-flow-inline.h (clear_is_used, is_used_p): New.
5724 * cfgexpand.c (account_used_vars_for_block): Use them.
5725 * tree-nrv.c (tree_nrv): Likewise.
5726 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
5727 (dump_scope_block): Likewise.
5728 (remove_unused_locals): Likewise.
5729
aaa2ac93
AO
5730 PR debug/47106
5731 PR debug/47402
5732 * tree-inline.c (declare_return_variable): Add result decl to
5733 local decls only once.
5734 * gimple-low.c (record_vars_into): Mark newly-created variables
5735 as referenced.
5736
a59d15cf
AO
57372011-02-02 Alexandre Oliva <aoliva@redhat.com>
5738
5739 PR debug/47498
5740 PR debug/47501
5741 PR debug/45136
5742 PR debug/45130
5743 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5744 debug insns.
5745 (no_real_insns_p, schedule_block, set_priorities): Drop special
5746 treatment of boundary debug insns.
38be4072 5747 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
5748 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
5749 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5750 (BOUNDARY_DEBUG_INSN_P): Likewise.
5751 (SCHEDULE_DEBUG_INSN_P): Likewise.
5752 * sched-rgn.c (init_ready_list): Drop special treatment of
5753 boundary debug insns.
5754 * final.c (rest_of_clean_state): Clear notes' BB.
5755
6fc2f091
JM
57562011-02-01 Joseph Myers <joseph@codesourcery.com>
5757
5758 * config/openbsd.opt (assert=): New Driver option.
5759
fc523387
JM
57602011-02-01 Joseph Myers <joseph@codesourcery.com>
5761
5762 * config/i386/nto.opt: New.
5763 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
5764
6d9821e5
JM
57652011-02-01 Joseph Myers <joseph@codesourcery.com>
5766
5767 * config/i386/netware.opt: New.
5768 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
5769
cef932d4
JM
57702011-02-01 Joseph Myers <joseph@codesourcery.com>
5771
5772 * config/interix.opt (posix): New Driver option.
5773
22843acd
DD
57742011-02-01 DJ Delorie <dj@redhat.com>
5775
56490b74
DD
5776 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
5777
22843acd
DD
5778 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
5779 class for A0/A1.
5780
199c8f2f
SP
57812011-02-01 Sebastian Pop <sebastian.pop@amd.com>
5782
5783 PR tree-optimization/47561
5784 * toplev.c (process_options): Print the Graphite flags. Add
5785 flag_loop_flatten to the list of options requiring Graphite.
5786
926bcf22
JM
57872011-02-01 Joseph Myers <joseph@codesourcery.com>
5788
5789 * config/i386/cygming.opt (posix): New Driver option.
5790
59793c51
JM
57912011-02-01 Joseph Myers <joseph@codesourcery.com>
5792
5793 * config/arm/vxworks.opt: New.
5794 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
5795
183c38a4
JM
57962011-02-01 Joseph Myers <joseph@codesourcery.com>
5797
5798 * config/alpha/elf.opt: New.
5799 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
5800 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
5801
9939e416
RG
58022011-02-01 Richard Guenther <rguenther@suse.de>
5803
5804 PR tree-optimization/47559
5805 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
5806 store-motion on references that can throw.
5807
4a3c9687
BS
58082011-02-01 Bernd Schmidt <bernds@codesourcery.com>
5809
5810 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
5811 * tree-pass.h (TDF_CSELIB): New macro.
5812 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
5813 cselib_lookup): Check for it rather than for TDF_DETAILS.
5814
dd3b31fb
L
58152011-02-01 H.J. Lu <hongjiu.lu@intel.com>
5816
5817 PR driver/47547
5818 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
5819 is HOST_BIT_BUCKET.
5820
5821 * opts.c (finish_options): Don't add x_aux_base_name if it is
5822 HOST_BIT_BUCKET.
5823
34c1de79
RG
58242011-02-01 Richard Guenther <rguenther@suse.de>
5825
5826 PR tree-optimization/47555
5827 Revert
5828 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
5829
5830 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
5831
dd2804d2
SB
58322011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
5833
5834 PR gcc/46692
5835 * config/lm32/t-lm32: Add multilib for all CPU options.
5836
3fd3b156
RG
58372011-02-01 Richard Guenther <rguenther@suse.de>
5838
5839 PR tree-optimization/47541
5840 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
5841 sure to have a field at offset zero.
5842
f16072b6
JM
58432011-01-31 Joseph Myers <joseph@codesourcery.com>
5844
5845 * config/arc/arc.opt (EB, EL): New Driver options.
5846
6456cf2e
JM
58472011-01-31 Joseph Myers <joseph@codesourcery.com>
5848
5849 * config/alpha/osf5.opt: New.
5850 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
5851
cdde6ab4
JM
58522011-01-31 Joseph Myers <joseph@codesourcery.com>
5853
5854 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
5855
7633415c
SP
58562011-01-31 Sebastian Pop <sebastian.pop@amd.com>
5857
5858 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
5859 -floop-interchange.
5860 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
5861 is an alias of -floop-interchange and that it requires the
5862 Graphite infrastructure.
5863 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
5864 flag_loop_interchange based on the value of flag_tree_loop_linear.
5865
0425d6f5
JJ
58662011-01-31 Jakub Jelinek <jakub@redhat.com>
5867 Richard Guenther <rguenther@suse.de>
5868
5869 PR tree-optimization/47538
5870 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
5871 type instead of r1type, except for comparisons. For right
5872 shifts and comparisons punt if there are mismatches in
5873 sizetype vs. non-sizetype types.
5874
500b16c3
RO
58752011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5876
5877 * doc/sourcebuild.texi (Effective-Target Keywords): Document
5878 avx_runtime.
5879
e279edb0
RO
58802011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5881
5882 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
5883 version number.
5884 * configure: Regenerate.
5885
c6092243
RO
58862011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5887
5888 * configure.ac (gcc_cv_ld_static_option): Define.
5889 (gcc_cv_ld_dynamic_option): Define.
5890 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
5891 instead.
5892 (HAVE_LD_STATIC_DYNAMIC): Update message.
5893 (LD_STATIC_OPTION): Define.
5894 (LD_DYNAMIC_OPTION): Define.
5895 * configure: Regenerate.
5896 * config.in: Regenerate.
5897 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
5898 HAVE_LD_STATIC_DYNAMIC]: Use them.
5899
d7862be3
NC
59002011-01-31 Nick Clifton <nickc@redhat.com>
5901
5902 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
5903 registers inside interrupt handlers if the handler is not a leaf
5904 function.
5905
ba4ec0e0
NC
59062011-01-31 Nick Clifton <nickc@redhat.com>
5907
5908 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
5909 reg_renumber returning an INVALID_REGNUM.
5910
29a63921
AO
59112011-01-31 Alexandre Oliva <aoliva@redhat.com>
5912
5913 PR libgcj/44341
5914 * doc/install.texi: Document host options discarded when cross
5915 configuring target libraries.
5916
ef591d3f
AO
59172011-01-31 Alexandre Oliva <aoliva@redhat.com>
5918
5919 Reverted:
5920 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
5921 PR debug/45136
5922 PR debug/45130
5923 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
5924 debug insns.
5925 (no_real_insns_p, schedule_block, set_priorities): Drop special
5926 treatment of boundary debug insns.
38be4072 5927 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
5928 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
5929 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
5930 (BOUNDARY_DEBUG_INSN_P): Likewise.
5931 (SCHEDULE_DEBUG_INSN_P): Likewise.
5932 * sched-rgn.c (init_ready_list): Drop special treatment of
5933 boundary debug insns.
5934 * final.c (rest_of_clean-state): Clear notes' BB.
5935
61052244
AM
59362011-01-31 Alan Modra <amodra@gmail.com>
5937
5938 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
5939 toc relative expressions as we do in print_operand_address.
5940
c4c8962b
KH
59412011-01-30 Kazu Hirata <kazu@codesourcery.com>
5942
5943 * doc/extend.texi: Follow spelling conventions.
5944 * doc/invoke.texi: Fix a typo.
5945
e543b94c
JM
59462011-01-30 Joseph Myers <joseph@codesourcery.com>
5947
5948 * config/hpux11.opt: New.
5949 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
5950 ia64*-*-hpux*): Use hpux11.opt.
5951
509d65dd 59522011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
5953
5954 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
5955 to tmake_file.
5956
7be03a0e
GP
59572011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
5958
5959 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
5960 support sites.
5961
419d1d37
GP
59622011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
5963
b596ed64
GP
5964 * doc/install.texi (Binaries): Remove outdated reference for
5965 Motorola 68HC11/68HC12 downloads.
5966
59672011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 5968
419d1d37
GP
5969 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
5970 Drepper's paper.
5971
4406d0e9
JW
59722011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5973
5974 PR bootstrap/47147
5975 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
5976 used by NetBSD.
5977
38be4072 59782011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
5979
5980 * value-prof.c (check_counter): Corrected error message.
5981
0cd98787
JZ
59822011-01-29 Jie Zhang <jie@codesourcery.com>
5983
5984 * config/arm/arm.c (arm_legitimize_reload_address): New.
5985 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
5986 arm_legitimize_reload_address.
38be4072 5987 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 5988
9b798ac5
ILT
59892011-01-28 Ian Lance Taylor <iant@google.com>
5990
5991 * godump.c (go_define): Ignore macros whose definitions include
5992 two adjacent operands.
5993
591e29d9
JJ
59942011-01-28 Jakub Jelinek <jakub@redhat.com>
5995
5996 PR target/42894
5997 * varasm.c (force_const_mem): Store copy of x in desc->constant
5998 instead of x itself.
5999 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
6000 itself into REG_EQUAL note.
6001
62dcc44a
JM
60022011-01-28 Joseph Myers <joseph@codesourcery.com>
6003
6004 * config/freebsd.opt (posix, rdynamic): New Driver options.
6005
c9f58b9a
RO
60062011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6007
6008 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
6009 -Bstatic/-Bdynamic.
6010 * configure: Regenerate.
6011
5f02b9db
JM
60122011-01-27 Joseph Myers <joseph@codesourcery.com>
6013
6014 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
6015 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
6016
5df97412
AS
60172011-01-27 Anatoly Sokolov <aesok@post.ru>
6018
6019 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
6020 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
6021 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
6022 (s390_preferred_reload_class): Make static. Change return and
6023 'rclass' argument type to reg_class_t.
6024
779d4b91
JH
60252011-01-27 Jan Hubicka <jh@suse.cz>
6026
6027 PR middle-end/46949
6028 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
6029 (process_function_and_variable_attributes): Check defined weakrefs.
6030
e80b21ed
MJ
60312011-01-27 Martin Jambor <mjambor@suse.cz>
6032
6033 PR tree-optimization/47228
6034 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
6035 build_ref_for_offset.
6036
6dcc4f31
UW
60372011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6038
6039 * config/spu/spu-elf.h (ASM_SPEC): Remove.
6040
509d65dd 60412011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
6042
6043 PR rtl-optimization/46856
6044 * postreload.c (reload_combine_recognize_const_pattern): Do not
6045 separate cc0 setter and user on cc0 targets.
6046
04af8788
NP
60472011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
6048
6049 PR c/43082
6050 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
6051 passed a VOID_TYPE expression, immediately emit an error and
6052 return error_mark_node.
6053
f7a60085
JL
60542011-01-26 Jeff Law <law@redhat.com>
6055
6056 PR rtl-optimization/47464
6057 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
6058 rather than may_trap_p as needed.
6059
5c2917ec
DD
60602011-01-26 DJ Delorie <dj@redhat.com>
6061
6062 PR rtl-optimization/46878
6063 * combine.c (insn_a_feeds_b): Check for the implicit cc0
6064 setter/user dependency as well.
6065
bef16e87
EB
60662011-01-26 Eric Botcazou <ebotcazou@adacore.com>
6067
6068 PR rtl-optimization/44469
6069 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
6070 after removing trivially dead basic blocks.
6071
c75d884b
JM
60722011-01-26 Joseph Myers <joseph@codesourcery.com>
6073
6074 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
6075 * config/frv/frv.h (LINK_SPEC): Likewise.
6076 * config/i386/netware.h (LINK_SPEC): Likewise.
6077 * config/m68k/linux.h (ASM_SPEC): Likewise.
6078 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
6079 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6080 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6081 * config/sparc/linux.h (ASM_SPEC): Likewise.
6082 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6083 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6084
d3153553
JM
60852011-01-26 Joseph Myers <joseph@codesourcery.com>
6086
6087 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
6088 * config/frv/frv.h (ASM_SPEC): Likewise.
6089 * config/m68k/linux.h (ASM_SPEC): Likewise.
6090 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6091 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
6092 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6093 * config/sparc/linux.h (ASM_SPEC): Likewise.
6094 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6095 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6096
b89b1e9d
JM
60972011-01-26 Joseph Myers <joseph@codesourcery.com>
6098
6099 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
6100 * config/frv/frv.h (LINK_SPEC): Likewise.
6101 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
6102
12eb1a9c
JM
61032011-01-26 Joseph Myers <joseph@codesourcery.com>
6104
6105 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
6106 * config/frv/frv.h (ASM_SPEC): Likewise.
6107 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
6108 * config/m68k/linux.h (ASM_SPEC): Likewise.
6109 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
6110 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
6111 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
6112 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
6113 * config/sparc/linux.h (ASM_SPEC): Likewise.
6114 * config/sparc/linux64.h (ASM_SPEC): Likewise.
6115 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
6116 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
6117
e435f098
SE
61182011-01-26 Steve Ellcey <sje@cup.hp.com>
6119
6120 PR target/46997
6121 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
6122 (*mux2): Ditto.
6123 (vec_extract_evenodd_help): Ditto.
6124 (vec_extract_evenv4hi): Ditto.
6125 (vec_extract_oddv4hi): Ditto.
6126 (vec_interleave_lowv2si): Ditto.
6127 (vec_interleave_highv2si): Ditto.
6128 (vec_extract_evenv2si): Ditto.
6129 (vec_extract_oddv2si: Ditto.
6130 (vec_pack_trunc_v2si): Ditto.
6131
34f0eee0
JH
61322011-01-22 Jan Hubicka <jh@suse.cz>
6133
6134 PR target/47237
6135 * cgraph.h (cgraph_local_info): New field can_change_signature.
6136 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
6137 signature can change.
6138 (ipcp_estimate_growth): Call sequence simplify only if calle signature
6139 can change.
6140 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
6141 (cgraph_function_versioning): We can not change signature of functions
6142 that don't allow that.
6143 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
6144 (lto_input_node): Likewise.
38be4072
UB
6145 * ipa-inline.c (compute_inline_parameters): Compute
6146 local.can_change_signature.
34f0eee0 6147 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
6148 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
6149 functions that can not change signature.
34f0eee0 6150 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
6151 init_cumulative_args): Do not use local calling conventions
6152 for functions that can not change signature.
34f0eee0 6153
980ca891
JH
61542011-01-22 Jan Hubicka <jh@suse.cz>
6155
6156 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
6157
768e3c60
RG
61582011-01-26 Richard Guenther <rguenther@suse.de>
6159
6160 PR tree-optimization/47190
61052244
AM
6161 * cgraphunit.c (process_common_attributes): New function.
6162 (process_function_and_variable_attributes): Use it.
768e3c60 6163
21d6a1c7
RG
61642011-01-26 Richard Guenther <rguenther@suse.de>
6165
6166 PR lto/47423
6167 * cgraphbuild.c (record_eh_tables): Record reference to personality
6168 function.
6169
48bb58b1
AO
61702011-01-26 Alexandre Oliva <aoliva@redhat.com>
6171
6172 PR debug/45454
6173 * sel-sched.c (moveup_expr): Don't let debug insns prevent
6174 non-debug insns from moving up.
6175
58c741a6
DK
61762011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6177
6178 PR target/40125
6179 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
6180 t-dlldir{,-x} fragment for build and add it to tmake_file.
6181 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
6182 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
6183 * config/i386/t-dlldir: New file.
6184 (SHLIB_DLLDIR): Define.
6185 * config/i386/t-dlldir-x: New file.
6186 (SHLIB_DLLDIR): Define.
6187 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
6188 (SHLIB_INSTALL): Use it.
6189
bff99262
CLT
61902011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
6191
6192 PR target/47246
6193 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
6194 lower bound of the allowed Thumb-2 coprocessor load/store
6195 index range to -256. Add explaining comment.
6196
82c03907
ILT
61972011-01-25 Ian Lance Taylor <iant@google.com>
6198
6199 * godump.c (go_define): Improve lexing of macro expansion to only
6200 accept expressions which match Go spec.
6201
47ea1edf
DK
62022011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6203
d4dba752 6204 PR c++/43601
47ea1edf
DK
6205 * tree.c (handle_dll_attribute): Handle it.
6206 * doc/extend.texi (@item dllexport): Mention it.
6207 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
6208
744f0946
ILT
62092011-01-25 Ian Lance Taylor <iant@google.com>
6210
6211 PR tree-optimization/26854
6212 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
6213 (decl_jump_unsafe): Move higher in file, with no other change.
6214 (bind): Set has_jump_unsafe_decl if appropriate.
6215 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
6216 (check_earlier_gotos): Likewise.
6217 (c_check_switch_jump_warnings): Likewise.
6218
5734f2b3
JW
62192011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
6220
6221 * doc/invoke.texi (Warning Options): Add missing hyphen.
6222 (-fprofile-dir): Minor grammatical fixes.
6223 (-fbranch-probabilities): Likewise.
6224
9bdbdcef
AO
62252011-01-25 Alexandre Oliva <aoliva@redhat.com>
6226
6227 PR debug/45136
6228 PR debug/45130
6229 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
6230 debug insns.
6231 (no_real_insns_p, schedule_block, set_priorities): Drop special
6232 treatment of boundary debug insns.
38be4072 6233 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
6234 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
6235 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
6236 (BOUNDARY_DEBUG_INSN_P): Likewise.
6237 (SCHEDULE_DEBUG_INSN_P): Likewise.
6238 * sched-rgn.c (init_ready_list): Drop special treatment of
6239 boundary debug insns.
6240 * final.c (rest_of_clean-state): Clear notes' BB.
6241
b305e3da
SP
62422011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6243
6244 * Makefile.in (LAMBDA_H): Removed.
6245 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
6246 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
6247 lambda-trans.o, and tree-loop-linear.o.
6248 (lto-symtab.o): Remove dependence on LAMBDA_H.
6249 (tree-loop-linear.o): Remove rule.
6250 (lambda-mat.o): Same.
6251 (lambda-trans.o): Same.
6252 (lambda-code.o): Same.
6253 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
6254 (tree-vect-slp.o): Same.
6255 * hwint.h (gcd): Moved here.
6256 (least_common_multiple): Same.
6257 * lambda-code.c: Removed.
6258 * lambda-mat.c: Removed.
6259 * lambda-trans.c: Removed.
6260 * lambda.h: Removed.
6261 * tree-loop-linear.c: Removed.
6262 * lto-symtab.c: Do not include lambda.h.
6263 * omega.c (gcd): Removed.
6264 * passes.c (init_optimization_passes): Remove pass_linear_transform.
6265 * tree-data-ref.c (print_lambda_vector): Moved here.
6266 (lambda_vector_copy): Same.
6267 (lambda_matrix_copy): Same.
6268 (lambda_matrix_id): Same.
6269 (lambda_vector_first_nz): Same.
6270 (lambda_matrix_row_add): Same.
6271 (lambda_matrix_row_exchange): Same.
6272 (lambda_vector_mult_const): Same.
6273 (lambda_vector_negate): Same.
6274 (lambda_matrix_row_negate): Same.
6275 (lambda_vector_equal): Same.
6276 (lambda_matrix_right_hermite): Same.
6277 * tree-data-ref.h: Do not include lambda.h.
6278 (lambda_vector): Moved here.
6279 (lambda_matrix): Same.
6280 (dependence_level): Same.
6281 (lambda_transform_legal_p): Removed declaration.
6282 (lambda_collect_parameters): Same.
6283 (lambda_compute_access_matrices): Same.
6284 (lambda_vector_gcd): Same.
6285 (lambda_vector_new): Same.
6286 (lambda_vector_clear): Same.
6287 (lambda_vector_lexico_pos): Same.
6288 (lambda_vector_zerop): Same.
6289 (lambda_matrix_new): Same.
6290 * tree-flow.h (least_common_multiple): Removed declaration.
6291 * tree-parloops.c (lambda_trans_matrix): Moved here.
6292 (LTM_MATRIX): Same.
6293 (LTM_ROWSIZE): Same.
6294 (LTM_COLSIZE): Same.
6295 (LTM_DENOMINATOR): Same.
6296 (lambda_trans_matrix_new): Same.
6297 (lambda_matrix_vector_mult): Same.
6298 (lambda_transform_legal_p): Same.
6299 * tree-pass.h (pass_linear_transform): Removed declaration.
6300 * tree-ssa-loop.c (tree_linear_transform): Removed.
6301 (gate_tree_linear_transform): Removed.
6302 (pass_linear_transform): Removed.
6303 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
6304 flag_loop_interchange.
6305
6bdfdb96
JJ
63062011-01-25 Jakub Jelinek <jakub@redhat.com>
6307
6308 PR tree-optimization/47265
6309 PR tree-optimization/47443
6310 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
6311 if name still has some uses.
6312
e4cba915
MJ
63132011-01-25 Martin Jambor <mjambor@suse.cz>
6314
6315 PR tree-optimization/47382
6316 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
6317 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
6318
509d65dd 63192011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
6320
6321 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
6322 sjlj_except_unwind_info.
6323
194313e2
RG
63242011-01-25 Richard Guenther <rguenther@suse.de>
6325
6326 PR tree-optimization/47426
6327 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
6328 visible functions results escape.
6329
147a0bcf
JJ
63302011-01-25 Jakub Jelinek <jakub@redhat.com>
6331
6332 PR target/45701
6333 * config/arm/arm.c (any_sibcall_uses_r3): New function.
6334 (arm_get_frame_offsets): Use it.
6335
db963b52
SP
63362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6337 Jakub Jelinek <jakub@redhat.com>
6338
6339 PR tree-optimization/47271
6340 * tree-if-conv.c (bb_postdominates_preds): New.
6341 (if_convertible_bb_p): Call bb_postdominates_preds.
6342 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
6343 (predicate_scalar_phi): Call bb_postdominates_preds.
6344
bcddd3b9
NC
63452011-01-25 Nick Clifton <nickc@redhat.com>
6346
6347 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
6348 * config/rx/rx.c (rx_function_value): Likewise.
6349 (rx_promote_function_mode): Likewise.
6350 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
6351 in order to make it legitimate.
38be4072
UB
6352 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
6353 make sure that the first operand is the same as the result register.
bcddd3b9
NC
6354 (addsi3_unspec): Delete.
6355 (subdi3): Do not accept immediate operands.
6356 (subdi3_internal): Likewise.
6357
7e6cb022
JL
63582011-01-25 Jeff Law <law@redhat.com>
6359
6360 PR rtl-optimization/37273
6361 * ira-costs.c (scan_one_insn): Detect constants living in memory and
6362 handle them like argument loads from stack slots. Do not double
6363 count memory for memory constants and argument loads from stack slots.
6364
9ffa621e
JJ
63652011-01-25 Jakub Jelinek <jakub@redhat.com>
6366
6367 PR tree-optimization/47427
6368 PR tree-optimization/47428
6369 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
6370 coalesce if the new root var would be TREE_READONLY.
6371
5bd6e652
RG
63722011-01-25 Richard Guenther <rguenther@suse.de>
6373
6374 PR middle-end/47414
6375 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
6376 correct type for TBAA.
6377
7c48ea69
SP
63782011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6379
6380 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
6381 (close_phi_written_to_memory): Call for_each_index with
6382 dr_indices_valid_in_loop.
6383
38013f25
SP
63842011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6385
6386 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
6387 when it is initialized.
6388
5c640e29
SP
63892011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6390
6391 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
6392 call to graphite_find_data_references_in_stmt.
6393 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
6394 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
6395 call to graphite_find_data_references_in_stmt.
6396 (analyze_drs_in_stmts): Same.
6397 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
6398 in which the scalar analysis of indices is performed.
6399 (create_data_ref): Same. Update call to dr_analyze_indices.
6400 (find_data_references_in_stmt): Update call to create_data_ref.
6401 (graphite_find_data_references_in_stmt): Same.
6402 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
6403 declaration.
6404 (create_data_ref): Same.
6405 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
6406 call to create_data_ref.
6407
ac53c069
SP
64082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6409
6410 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 6411 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 6412
3d17df15
SP
64132011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6414
6415 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
6416 VAR_DECL, PARM_DECL, and RESULT_DECL.
6417
c513da01
SP
64182011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6419
6420 * graphite-dependences.c (reduction_dr_1): Allow several reductions
6421 in a reduction PBB.
6422 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
6423 that have already been marked as PBB_IS_REDUCTION.
6424
3a292d59
SP
64252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6426
6427 * graphite-scop-detection.c (same_close_phi_node): New.
6428 (remove_duplicate_close_phi): New.
6429 (make_close_phi_nodes_unique): New.
6430 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
6431
ba858447
SP
64322011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6433
6434 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
6435 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
6436 of both data references to be the same.
6437
8d865c56
SP
64382011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6439
38be4072
UB
6440 * graphite-dependences.c (build_lexicographical_constraint): Remove
6441 the gdim parameter.
6442 (build_lexicographical_constraint): Adjust call to
6443 ppl_powerset_is_empty.
8d865c56
SP
6444 (dependence_polyhedron): Same.
6445 (graphite_legal_transform_dr): Same.
6446 (graphite_carried_dependence_level_k): Same.
38be4072
UB
6447 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
6448 parameter.
8d865c56
SP
6449 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
6450
50034a36
SP
64512011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6452
6453 * graphite-sese-to-poly.c
6454 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
6455 (close_phi_written_to_memory): New.
6456 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
6457 and unshare_expr.
6458
0deada9e
SP
64592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6460
6461 * doc/install.texi: Update the expected version number of PPL to 0.11.
6462 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
6463 #if PPL_VERSION_MINOR < 11.
6464
d7d3d6af
SP
64652011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6466
6467 * graphite-dependences.c: Include graphite-cloog-util.h.
6468 (new_poly_ddr): Inlined into dependence_polyhedron.
6469 (free_poly_ddr): Moved close by new_poly_ddr.
6470 (dependence_polyhedron_1): Renamed dependence_polyhedron.
6471 Early return NULL when ppl_powerset_is_empty returns true.
6472 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
6473 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
6474 (graphite_legal_transform_dr): Call new_poly_ddr.
6475 (graphite_carried_dependence_level_k): Same.
6476 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
6477 (dot_transformed_deps_stmt_1): Removed.
6478 (dot_deps_stmt_1): Call dot_deps_stmt_2.
6479 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
6480 (dot_deps_1): Call dot_deps_2.
6481 * Makefile.in (graphite-dependences.o): Add missing dependence on
6482 graphite-cloog-util.h.
6483
28c5db57
SP
64842011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6485
6486 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
6487 (build_lexicographical_constraint): Same.
6488 (dependence_polyhedron_1): Same.
6489 (graphite_legal_transform_dr): Same.
6490 (graphite_carried_dependence_level_k): Same.
6491 * graphite-ppl.c (ppl_powerset_is_empty): New.
6492 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
6493 * tree-data-ref.c (dump_data_reference): Print the basic block index.
6494
5168d98f
SP
64952011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6496
6497 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
6498 the "a followed by b" relation and document it.
6499
4a40293a
SP
65002011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6501
6502 * graphite-dependences.c (build_lexicographical_constraint): Stop the
6503 iteration when the bag of constraints is empty.
6504
271fb6fa
SP
65052011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6506
6507 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
6508
92d23680
SP
65092011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6510
6511 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
6512 nest and two loop depths as parameters.
6513 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
6514 lst_perfect_nestify.
6515
2f51deff
SP
65162011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6517
6518 * graphite-dependences.c (print_pddr): Call
6519 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
6520
07f3593c
SP
65212011-01-25 Sebastian Pop <sebastian.pop@amd.com>
6522
6523 * graphite-ppl.c (debug_gmp_value): New.
6524 * graphite-ppl.h (debug_gmp_value): Declared.
6525
3fae6099
TG
65262011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
6527
6528 * doc/install.texi: Document availability of cloog-0.16.
6529
1c3ba85b
SP
65302011-01-25 Vladimir Kargov <kargov@gmail.com>
6531
6532 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
6533 invalid postdominance info.
6534
e8ba94fc
JH
65352011-01-24 Jan Hubicka <jh@suse.cz>
6536
6537 PR c/21659
6538 * doc/extend.texi (weak pragma): Drop claim that it must
6539 appear before definition.
6540 * varasm.c (merge_weak, declare_weak): Only sanity check
6541 that DECL is not output at a time it is declared weak.
6542
2b6e2d13
KZ
65432011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
6544
6545 * machmode.def: Fixed comments.
1c3ba85b 6546
9841210f
KT
65472011-01-24 Kai Tietz <kai.tietz@onevision.com>
6548
6549 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
6550
65512011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
6552
6553 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 6554 WORDS_BIG_ENDIAN.
e046112d 6555
a6c5070a
L
65562011-01-24 H.J. Lu <hongjiu.lu@intel.com>
6557
6558 PR target/46519
6559 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
6560 (block_info): Add scanned and prev.
6561 (move_or_delete_vzeroupper_2): Return if the basic block
6562 has been scanned and the upper 128bit state is unchanged
6563 from the last scan.
6564 (move_or_delete_vzeroupper_1): Return true if the exit
6565 state is changed.
6566 (move_or_delete_vzeroupper): Visit basic blocks using the
6567 work-list based algorithm based on vt_find_locations in
6568 var-tracking.c.
6569
6570 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
6571
a40d79d7
NC
65722011-01-24 Nick Clifton <nickc@redhat.com>
6573
6574 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
6575 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
6576 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
6577 then define __v850e1__.
6578 * doc/invoke.texi: Document -mv850es.
6579
440eb8de
RH
65802011-01-24 Richard Henderson <rth@redhat.com>
6581
6582 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
6583 compound unordered comparisons.
6584 * config/rx/rx.c (rx_split_fp_compare): Remove.
6585 * config/rx/rx-protos.h: Update.
6586 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
6587 (cbranchsf4): Don't call rx_split_fp_compare.
6588 (*cbranchsf4): Use rx_split_cbranch.
6589 (*cmpsf): Don't accept "i" constraint.
6590 (*conditional_branch): Only valid after reload.
6591 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
6592
3ff79f99
MM
65932011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
6594
6595 PR target/47385
6596 * config/rs6000/altivec.md (vector constant splitters): Add
6597 support for creating vector single precision constants if -mvsx is
6598 used and we would create the constant using Altivec primitives.
6599
ff3d9d08
BS
66002011-01-23 Bernd Schmidt <bernds@codesourcery.com>
6601 Richard Sandiford <rdsandiford@googlemail.com>
6602
6603 PR rtl-optimization/47166
6604 * reload1.c (emit_reload_insns): Disable the spill_reg_store
6605 mechanism for PRE_MODIFY and POST_MODIFY.
6606 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
6607 reloadreg.
6608
7fcaf152
AS
66092011-01-23 Andreas Schwab <schwab@linux-m68k.org>
6610
8788adb6 6611 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 6612
d09b58c4
JH
66132011-01-22 Jan Hubicka <jh@suse.cz>
6614
6615 PR lto/47333
6616 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
6617
e8ff8c5a
JH
66182011-01-22 Jan Hubicka <jh@suse.cz>
6619
6620 PR tree-optimization/43884
6621 PR lto/44334
8788adb6 6622 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
6623 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
6624
ccaed3ba
AS
66252011-01-22 Anatoly Sokolov <aesok@post.ru>
6626
6627 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6628 * config/s390/s390.c (s390_register_move_cost,
6629 s390_memory_move_cost): New.
6630 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
6631
0cecee06
UW
66322011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6633
6634 PR middle-end/47401
6635 * except.c (sjlj_assign_call_site_values): Move setting the
6636 crtl->uses_eh_lsda flag to ...
6637 (sjlj_mark_call_sites): ... here.
6638 (sjlj_emit_function_enter): Support NULL dispatch label.
6639 (sjlj_build_landing_pads): In a function with no landing pads
6640 that still has must-not-throw regions, generate code to register
6641 a personality function with empty LSDA.
6642
e692f276
RH
66432011-01-21 Richard Henderson <rth@redhat.com>
6644
1b7ae0b7
RH
6645 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
6646
3843787f
RH
6647 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
6648
e692f276
RH
6649 * compare-elim.c: New file.
6650 * Makefile.in (OBJS-common): Add it.
6651 (compare-elim.o): New.
6652 * common.opt (fcompare-elim): New.
6653 * opts.c (default_options_table): Add OPT_fcompare_elim.
6654 * tree-pass.h (pass_compare_elim_after_reload): New.
6655 * passes.c (init_optimization_passes): Add it.
6656 * recog.h: Protect against re-inclusion.
6657 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
6658 * doc/invoke.texi (-fcompare-elim): Document it.
6659 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
6660 * doc/tm.texi: Rebuild.
6661
9a7c2050
NC
66622011-01-22 Nick Clifton <nickc@redhat.com>
6663
6664 * config/rx/rx.md (cstoresf4): Pass comparison operator to
6665 rx_split_fp_compare.
6666
15ba5696
NC
66672011-01-22 Nick Clifton <nickc@redhat.com>
6668
6669 * config/rx/rx.md (UNSPEC_CONST): New.
6670 (deallocate_and_return): Wrap the amount popped off the stack in
6671 an UNSPEC_CONST in order to stop it being rejected by
6672 -mmax-constant-size.
6673 (pop_and_return): Add a "(return)" rtx.
6674 (call): Drop the immediate operand.
6675 (call_internal): Likewise.
6676 (call_value): Likewise.
6677 (call_value_internal): Likewise.
6678 (sibcall_internal): Likewise.
6679 (sibcall_value_internal): Likewise.
6680 (sibcall): Likewise. Generate an explicit call using
6681 sibcall_internal.
6682 (sibcall_value): Likewise.
6683 (mov<>): FAIL if a constant operand is not legitimate.
6684 (addsi3_unpsec): New pattern.
9a7c2050 6685
38be4072 6686 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
6687 (ok_for_max_constant): New function.
6688 (gen_safe_add): New function.
6689 (rx_expand_prologue): Use gen_safe_add.
6690 (rx_expand_epilogue): Likewise.
6691 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
6692 UNSPEC CONSTs.
6693
caaf13d3
JL
66942011-01-21 Jeff Law <law@redhat.com>
6695
6696 PR tree-optimization/47053
6697 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
6698 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
6699 statements are deleted.
6700 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
6701 is nonempty, then purge dead edges and cleanup the CFG.
6702
12c30f2f
AO
67032011-01-21 Alexandre Oliva <aoliva@redhat.com>
6704
6705 PR debug/47402
6706 Temporarily revert:
6707 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
6708 PR debug/47106
6709 * tree-dfa.c (create_var_ann): Mark variable as used.
6710
7360d2ac
JJ
67112011-01-21 Jakub Jelinek <jakub@redhat.com>
6712
aaa52a96
JJ
6713 PR middle-end/45566
6714 * except.c (convert_to_eh_region_ranges): Emit queued no-region
6715 notes from other section in hot/cold partitioning even if
6716 last_action is -3. Increment call_site_base.
6717
7360d2ac
JJ
6718 PR rtl-optimization/47366
6719 * fwprop.c (forward_propagate_into): Return bool. If
6720 any changes are made, -fnon-call-exceptions is used and
6721 REG_EH_REGION note is present, call purge_dead_edges
6722 and return true if it purged anything.
6723 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
6724 any EH edges were purged.
6725
e90b336f
JL
67262011-01-21 Jeff Law <law@redhat.com>
6727
6728 PR rtl-optimization/41619
6729 * caller-save.c (setup_save_areas): Break out code to determine
6730 which hard regs are live across calls by examining the reload chains
6731 so that it is always used.
6732 Eliminate code which checked REG_N_CALLS_CROSSED.
6733
3ffe07e1
JJ
67342011-01-21 Jakub Jelinek <jakub@redhat.com>
6735
6736 PR tree-optimization/47355
6737 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
6738 NOP has non-debug uses beyond PHIs in new_bb.
6739
1c7d0b34
AO
67402011-01-21 Alexandre Oliva <aoliva@redhat.com>
6741
6742 PR debug/47106
6743 * cfgexpand.c (account_used_vars_for_block): Only account vars
6744 that are annotated as used.
6745 (estimated_stack_frame_size): Don't set TREE_USED.
6746 * tree-dfa.c (create_var_ann): Mark variable as used.
6747
f99cc488
RG
67482011-01-21 Richard Guenther <rguenther@suse.de>
6749
6750 PR middle-end/47395
6751 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
6752
3bc27de7
RG
67532011-01-21 Richard Guenther <rguenther@suse.de>
6754
6755 PR tree-optimization/47365
6756 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
6757 (vn_reference_lookup_pieces): Adjust.
6758 (vn_reference_lookup): Likewise.
6759 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
6760 (vn_reference_lookup_3): Only look through kills if in
6761 VN_WALKREWRITE mode.
6762 (vn_reference_lookup_pieces): Adjust.
6763 (vn_reference_lookup): Likewise.
6764 (visit_reference_op_load): Likewise.
6765 (visit_reference_op_store): Likewise.
6766 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
6767 (compute_avail): Likewise.
6768 (eliminate): Likewise.
6769
d8debb1d
JJ
67702011-01-21 Jakub Jelinek <jakub@redhat.com>
6771
6772 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
6773 DECL_IGNORED_P non-reg vars if they are used.
6774
3a2df831
JJ
6775 PR tree-optimization/47391
6776 * varpool.c (const_value_known_p): Return false if
6777 decl is volatile.
6778
1dd584a2
KT
67792011-01-21 Kai Tietz <kai.tietz@onevision.com>
6780
6781 PR bootstrap/47215
6782 * config/i386/i386.c (ix86_local_alignment): Handle
6783 case for va_list_type_node is nil.
6784 (ix86_canonical_va_list_type): Likewise.
6785
7f9f095e
AM
67862011-01-21 Alan Modra <amodra@gmail.com>
6787
6788 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
6789 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
6790
837b01f6
RR
67912011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6792
6793 * config/arm/arm.md (define_attr type): Rename f_load
6794 and f_store to f_fpa_load and f_fpa_store. Update.
6795 (write_conflict): Deal with rename fallout.
6796 (*push_fp_multi): Likewise.
6797 * config/arm/fpa.md (f_load): Use f_fpa_load.
6798 (f_store): Use f_fpa_store.
6799 (*movsf_fpa): Likewise.
6800 (*movdf_fpa): Likewise.
6801 (*movxf_fpa): Likewise.
6802 (*thumb2_movsf_fpa): Likewise.
6803 (*thumb2_movdf_fpa): Likewise.
6804 (*thumb2_movxf_fpa): Likewise.
6805 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
6806 f_loadd and f_stored.
6807 (*thumb2_movdi_vfp): Likewise.
6808 (*thumb2_movsf_vfp): Fix attribute to f_loads.
6809 (*thumb2_movsi_vfp): Likewise.
6810 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
6811 Use f_loads instead of f_load.
6812 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
6813
a1a79768
AS
68142011-01-20 Anatoly Sokolov <aesok@post.ru>
6815
6816 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6817 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
6818 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6819 (xtensa_mode_dependent_address_p): New function.
6820 (constantpool_address_p): Make static. Change return type to bool.
6821 Change argument type to const_rtx. Use CONST_INT_P predicate.
6822
427f6cec
AO
68232011-01-20 Alexandre Oliva <aoliva@redhat.com>
6824
6825 PR debug/46583
6826 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
6827
583ac69c
JJ
68282011-01-20 Jakub Jelinek <jakub@redhat.com>
6829
6830 PR debug/47283
6831 * cfgexpand.c (expand_debug_expr): Instead of generating
6832 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
6833 etc. handling.
6834
93e452ed
RG
68352011-01-20 Richard Guenther <rguenther@suse.de>
6836
6837 PR middle-end/47370
6838 * tree-inline.c (remap_gimple_op_r): Recurse manually for
6839 the pointer operand of MEM_REFs.
6840
28fc44f3
JJ
68412011-01-20 Jakub Jelinek <jakub@redhat.com>
6842
6843 PR tree-optimization/46130
6844 * ipa-split.c (consider_split): If return_bb contains non-virtual
6845 PHIs other than for retval or if split_function would not adjust it,
6846 refuse to split.
6847
ddd268f2
RG
68482011-01-20 Richard Guenther <rguenther@suse.de>
6849
6850 PR tree-optimization/47167
6851 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
6852 Revert previous change, only avoid enumeral type changes.
6853
882020aa
MS
68542011-01-19 Mike Stump <mikestump@comcast.net>
6855
6856 * doc/tm.texi.in (BRANCH_COST): Englishify.
6857 * doc/tm.texi (BRANCH_COST): Likewise.
6858
7edb6247
DS
68592011-01-19 Dodji Seketeli <dodji@redhat.com>
6860
6861 PR c++/47291
6862 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
6863 (gen_scheduled_generic_parms_dies): New functions.
6864 (gen_struct_or_union_type_die): Schedule template parameters DIEs
6865 generation for the end of CU compilation.
6866 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 6867
23d5ed5d
AO
68682011-01-19 Alexandre Oliva <aoliva@redhat.com>
6869
6870 PR debug/46240
6871 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
6872 debug bind stmt on merge edges.
6873
37d6a488
AO
68742011-01-19 Alexandre Oliva <aoliva@redhat.com>
6875
6876 PR debug/47079
6877 PR debug/46724
6878 * function.c (instantiate_expr): Instantiate incoming rtl of
6879 implicit arguments, and recurse on VALUE_EXPRs.
6880 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
6881 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
6882
689f2c82
AO
68832011-01-19 Alexandre Oliva <aoliva@redhat.com>
6884
6885 * c-parser.c (c_parser_for_statement): Initialize
6886 collection_expression.
6887
03029de4
JM
68882011-01-19 Joseph Myers <joseph@codesourcery.com>
6889
6890 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
6891
3e03217e
JM
68922011-01-19 Joseph Myers <joseph@codesourcery.com>
6893
6894 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
6895 (LINK_SHLIB_SPEC): Don't use %(link_path).
6896 (SUBTARGET_EXTRA_SPECS): Remove link_path.
6897
5bbe9b3f
JM
68982011-01-19 Joseph Myers <joseph@codesourcery.com>
6899
6900 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
6901 (NO_SHARED_LIB_SUPPORT): Remove.
6902 (LINK_SHLIB_SPEC): Remove one conditional definition.
6903
368e0b39
JM
69042011-01-19 Joseph Myers <joseph@codesourcery.com>
6905
6906 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
6907 %{call_shared}.
6908 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
6909 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
6910 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
6911 %{call_shared} and conditionals on these options not being passed.
6912 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
6913 %{call_shared}.
6914
ed7656f6
JJ
69152011-01-19 Jakub Jelinek <jakub@redhat.com>
6916
68457901
JJ
6917 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
6918 simplify.
6919
ed7656f6
JJ
6920 * ipa-split.c: Spelling fixes.
6921
e0d1958f
RH
69222011-01-19 Richard Henderson <rth@redhat.com>
6923
6924 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
6925 (*mulsi3): Likewise.
6926
27098b6b
RH
6927 * longlong.h [__mn10300__] (count_leading_zeros): New.
6928 [__mn10300__] (umul_ppmm, smul_ppmm): New.
6929 [__mn10300__] (add_ssaaaa, subddmmss): New.
6930 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
6931 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
6932
d6be7c36
UW
69332011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6934
6935 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
6936
b1efde2a
RH
69372011-01-19 Richard Henderson <rth@redhat.com>
6938
44217823
RH
6939 * config/mn10300/mn10300.md (addsi3_flags): New.
6940 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
6941 (subsi3_flags, subc_internal, subdi3): New.
6942 (subdi3_internal, *subdi3_degenerate): New.
6943 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
6944
37a185d7
RH
6945 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
6946 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
6947 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
6948 * config/mn10300/mn10300-protos.h: Update.
6949 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
6950 (return_ret): Likewise. Rename from return_internal_regs.
6951 (return_internal): Remove.
6952
040c5757
RH
6953 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
6954 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
6955 (mn10300_legitimate_constant_p): Likewise.
6956 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
6957 (mn10300_frame_size): New.
6958 (mn10300_expand_prologue): Use it.
6959 (mn10300_expand_epilogue): Likewise.
6960 (mn10300_initial_offset): Likewise.
6961 * config/mn10300/mn10300-protos.h: Update.
6962 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
6963 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
6964 (prologue, epilogue, return_internal): Tidy output code.
6965 (mn10300_store_multiple_operation, return): Likewise.
6966 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
6967 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
6968 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
6969 (load_pic, am33_load_pic): New.
6970 (mn10300_load_pic0, mn10300_load_pic1): New.
6971
bad41521
RH
6972 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
6973 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
6974 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
6975 (cc_flags_for_mode, cc_flags_for_code): New.
6976 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
6977 overflow flag is not valid. Validate that the flags we need
6978 for the comparison are valid.
6979 (mn10300_output_cmp): Remove.
6980 (mn10300_output_add): New.
6981 (mn10300_select_cc_mode): Use cc_flags_for_code.
6982 (mn10300_split_cbranch): New.
6983 (mn10300_match_ccmode): New.
6984 (mn10300_split_and_operand_count): New.
6985 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
6986 to the function.
6987 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
6988 (addsi3): ... here. Use mn10300_output_add.
6989 (*addsi3_flags): New.
6990 (*am33_subsi3, *mn10300_subsi3): Merge...
6991 (subsi3): ... here. Use attribute isa.
6992 (*subsi3_flags): New.
6993 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
6994 when possible.
6995 (*am33_andsi3, *mn10300_andsi3): Merge...
6996 (andsi3): ... here.
6997 (*andsi3_flags): New.
6998 (andsi3 splitters): New.
6999 (*am33_iorsi3, *mn10300_iorsi3): Merge...
7000 (iorsi3): ... here.
7001 (*iorsi3_flags): New.
7002 (*am33_xorsi3, *mn10300_xorsi3): Merge...
7003 (xorsi3): ... here.
7004 (*xorsi3_flags): New.
7005 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
7006 (one_cmplsi2): ... here.
7007 (*one_cmplsi2_flags): New.
7008 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
7009 instead of "dax" in constraints. Use mn10300_split_cbranch.
7010 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
7011 use matching constraints to eliminate a self-comparison.
7012 (*integer_conditional_branch): Rename from integer_conditional_branch.
7013 Use int_mode_flags to match CC_REG.
7014 (*cbranchsi4_btst, *btstsi): New.
7015 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
7016 mn10300_split_cbranch.
7017 (*am33_cmpsf): Rename from am33_cmpsf.
7018 (*float_conditional_branch): Rename from float_conditional_branch.
7019 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
7020 (zero_extendqisi2): ... here.
7021 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
7022 (zero_extendhisi2): ... here.
7023 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
7024 (extendqisi2): ... here.
7025 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
7026 (extendhisi2): ... here.
7027 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
7028 (ashlsi3): ... here.
7029 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
7030 (lshrsi3): ... here.
7031 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
7032 (ashrsi3): ... here.
7033 (consecutive add peephole): Remove.
7034 * config/mn10300/predicates.md (label_ref_operand): New.
7035 (int_mode_flags): New.
7036 (CCZN_comparison_operator): New.
7037
9efb4993
RH
7038 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
7039 (throughput_42_latency_43): New reservation.
7040 (mulsidi3, umulsidi3): New expanders.
7041 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
7042 the MDR register to allocation; separately allocate the low and
7043 high parts of the DImode result.
7044 (umulsidi3_internal): Similarly.
7045 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
7046 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
7047 (udivsi3, umodsi3): Remove.
7048 (udivmodsi4, divmodsi4): New expanders.
7049 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
7050 (*divmodsi4): Simiarly.
7051 (ext_internal): New.
7052
c25a21f5
RH
7053 * config/mn10300/constraints.md ("z"): New constraint.
7054 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
7055 (FIXED_REGISTERS): Don't fix MDR.
7056 (CALL_USED_REGSITERS): Reformat nicely.
7057 (REG_ALLOC_ORDER): Add MDR.
7058 (enum regclass): Add MDR_REGS.
7059 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
7060 (IRA_COVER_CLASSES): Add MDR_REGS.
7061 (REGNO_REG_CLASS): Handle MDR_REG.
7062 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
7063 (mn10300_register_move_cost): Likewise.
7064 * config/mn10300/mn10300.md (MDR_REG): New.
7065 (*movsi_internal): Handle moves to/from MDR_REGS.
7066
36846b26
RH
7067 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
7068 POST_MODIFY.
7069 (mn10300_secondary_reload): Tidy combination reload classes.
7070 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
7071 addresses for AM33. Allow symbolic offsets for reg+imm.
7072 (mn10300_regno_in_class_p): New.
7073 (mn10300_legitimize_reload_address): New.
7074 * config/mn10300/mn10300.h (enum reg_class): Remove
7075 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
7076 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
7077 SP_OR_GENERAL_REGS.
7078 (REG_CLASS_NAMES): Update to match.
7079 (REG_CLASS_CONTENTS): Likewise.
7080 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
7081 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
7082 (REGNO_IN_RANGE_P): Remove.
7083 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
7084 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
7085 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
7086 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
7087 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
7088 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
7089 (REGNO_GENERAL_P): New.
7090 (HAVE_POST_MODIFY_DISP): New.
7091 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
7092 (LEGITIMIZE_RELOAD_ADDRESS): New.
7093 * config/mn10300/mn10300-protos.h: Update.
7094
8b119bb6
RH
7095 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
7096 DATA_REGS for AM33 stack-pointer destination.
7097 (mn10300_preferred_output_reload_class): Likewise.
7098 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
7099 into a form appropriate for ...
7100 (TARGET_SECONDARY_RELOAD): New.
7101 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
7102 * config/mn10300/mn10300-protos.h: Update.
7103 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
7104 reload_insi; use the "A" constraint for the scratch; handle AM33
7105 moves of sp to non-address registers.
7106
b1efde2a
RH
7107 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
7108 (*movqi_internal): ... here.
7109 (*am33_movhi, *mn10300_movhi): Merge into...
7110 (*movhi_internal): ... here.
7111 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
7112 as the source/destination of moves from/to SP.
7113 (movsf): Only allow for AM33-2.
1c3ba85b 7114 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
7115 any integer constant constraint. Only allow for AM33-2. Tidy
7116 all of the alternative outputs.
7117 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
7118 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
7119 for MN103.
7120 (udivsi3, umodsi3): New patterns for MN103 only.
7121
b899fd78
JR
71222011-01-19 Joern Rennecke <amylaar@spamcop.net>
7123
7124 * doc/tm.texi.in: Spell out that a lack of register class unions
7125 can lead to ICEs.
7126 * doc/tm.texi: Regenerate.
7127
afaaa67d
JJ
71282011-01-19 Jakub Jelinek <jakub@redhat.com>
7129
2e0642cd
JJ
7130 PR rtl-optimization/47337
7131 * dce.c (check_argument_store): New function.
7132 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
7133
afaaa67d
JJ
7134 PR tree-optimization/47290
7135 * tree-eh.c (infinite_empty_loop_p): New function.
7136 (cleanup_empty_eh): Use it.
7137
d2cd871f
SE
71382011-01-18 Steve Ellcey <sje@cup.hp.com>
7139
7140 PR target/46997
7141 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
7142 (a64_expand_widen_sum): Ditto.
7143 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
7144 (vec_extract_evenodd_help): Ditto.
7145 (vec_extract_evenv4hi): Ditto.
7146 (vec_extract_oddv4hi): Ditto.
7147 (vec_extract_evenv2si): Ditto.
7148 (vec_extract_oddv2si): Ditto.
7149 (vec_extract_evenv2sf): Ditto.
7150 (vec_extract_oddv2sf): Ditto.
7151 (vec_pack_trunc_v4hi: Ditto.
7152 (vec_pack_trunc_v2si): Ditto.
7153 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
7154 (vec_interleave_highv8qi): Ditto.
7155 (mix1_r): Ditto.
7156 (vec_extract_oddv8qi): Ditto.
7157 (vec_interleave_lowv4hi): Ditto.
7158 (vec_interleave_highv4hi): Ditto.
7159 (vec_interleave_lowv2si): Ditto.
7160 (vec_interleave_highv2si): Ditto.
7161
41a1208a
JDA
71622011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7163
7164 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
7165 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
7166 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
7167 (pa_c_mode_for_suffix): New.
7168 (TARGET_EXPAND_BUILTIN): Define.
7169 (TARGET_C_MODE_FOR_SUFFIX): Define.
7170 (pa_builtins): Define.
7171 (pa_init_builtins): Register __float128 type and init new support
7172 builtins.
7173 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
7174 * config/pa/quadlib.c (_U_Qfcopysign): New.
7175
1ecad98e
EB
71762011-01-18 Eric Botcazou <ebotcazou@adacore.com>
7177
7178 PR middle-end/46894
7179 * explow.c (allocate_dynamic_stack_space): Do not assume more than
7180 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
7181 are defined.
7182
d4f2460a
UW
71832011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7184
7185 PR tree-optimization/47179
7186 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
7187 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
7188
4994da65
RG
71892011-01-18 Richard Guenther <rguenther@suse.de>
7190
7191 PR rtl-optimization/47216
7192 * emit-rtl.c: Include tree-flow.h.
7193 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
7194 of replicating it with different semantics.
7195 * Makefile.in (emit-rtl.o): Adjust.
7196
1eb458d1
RR
71972011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7198
38be4072 7199 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 7200 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 7201
e7ef91dc
JJ
72022011-01-18 Jakub Jelinek <jakub@redhat.com>
7203
7204 PR rtl-optimization/47299
7205 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 7206 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
7207 * expmed.c (expand_widening_mult): Don't try to optimize constant
7208 multiplication if op0 has VOIDmode. Convert op1 constant to mode
7209 before using it.
7210
535b7874
RW
72112011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7212
7213 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
7214 spacing after 'e.g.', typos, comma, hyphenation.
7215
27bf36f3
RH
72162011-01-17 Richard Henderson <rth@redhat.com>
7217
8a5b5449
RH
7218 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
7219 (rx_restricted_mem_operand): New.
7220 (rx_shift_operand): Use register_operand.
7221 (rx_source_operand, rx_compare_operand): Likewise.
7222 * config/rx/rx.md (addsi3_flags): New expander.
7223 (adddi3): Rewrite as expander.
7224 (adc_internal, *adc_flags, adddi3_internal): New patterns.
7225 (subsi3_flags): New expander.
7226 (subdi3): Rewrite as expander.
7227 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
7228
784f69be
RH
7229 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
7230 (rx_init_builtins): Remove sat builtin.
7231 (rx_expand_builtin): Likewise.
7232 * config/rx/rx.md (ssaddsi3): New.
7233 (*sat): Rename from sat. Represent the CC_REG input.
7234
f033541c
RH
7235 * config/rx/predicates.md (rshift_operator): New.
7236 * config/rx/rx.c (rx_expand_insv): Remove.
7237 * config/rx/rx-protos.h: Update.
7238 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
7239 operand to the canonical position.
7240 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
7241 (*bitclr, *bitclr_in_memory): Similarly.
7242 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
7243 (insv): Retain the zero_extract in the expansion.
7244
34fee389
RH
7245 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
7246 (bswaphi2, bitinvert, revw): Likewise.
7247
265c835f
RH
7248 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
7249 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
7250 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
7251 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
7252 (bitset, bitset_in_memory): Likewise.
7253 (bitinvert, bitinvert_in_memory): Likewise.
7254 (bitclr, bitclr_in_memory): Likewise.
7255 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
7256 (rx_strend, rx_cmpstrn): Likewise.
7257 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
7258 (bitop peep2 patterns): Remove.
7259
b4d83be3
RH
7260 * config/rx/rx.c (rx_match_ccmode): New.
7261 * config/rx/rx-protos.h: Update.
7262 * config/rx/rx.md (abssi2): Clobber, don't set flags.
7263 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
7264 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
7265 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
7266 (fix_truncsfsi2, floatsisf2): Likewise.
7267 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
7268 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
7269 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
7270 (*subsi3_flags, *xorsi3_flags): New.
7271
d0acb939
RH
7272 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
7273
c06fc3d9
RH
7274 * config/rx/rx.c (rx_print_operand): Remove workaround for
7275 unsplit comparison operations.
7276
2882702b
RH
7277 * config/rx/rx.md (movsicc): Split after reload.
7278 (*movsicc): Merge *movsieq and *movsine via match_operator.
7279 (*stcc): New pattern.
7280
6f7310f2
RH
7281 * config/rx/rx.c (rx_float_compare_mode): Remove.
7282 * config/rx/rx.h (rx_float_compare_mode): Remove.
7283 * config/rx/rx.md (cstoresi4): Split after reload.
7284 (*sccc): New pattern.
7285
e963cb1a
RH
7286 * config/rx/predicates.md (label_ref_operand): New.
7287 (rx_z_comparison_operator): New.
7288 (rx_zs_comparison_operator): New.
7289 (rx_fp_comparison_operator): New.
7290 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
7291 Validate that the flags are set properly for the comparison.
7292 (rx_gen_cond_branch_template): Remove.
7293 (rx_cc_modes_compatible): Remove.
7294 (mode_from_flags): New.
7295 (flags_from_code): Rename from flags_needed_for_conditional.
7296 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
7297 (rx_select_cc_mode): Likewise.
7298 (rx_split_fp_compare): New.
7299 (rx_split_cbranch): New.
7300 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
7301 (*cbranchsi4): Use match_operator and rx_split_cbranch.
7302 (*cbranchsf4): Similarly.
7303 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
7304 match_operator and rx_split_cbranch.
7305 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
7306 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
7307 (*cmpsi): Rename from cmpsi.
7308 (*tstsi): Rename from tstsi.
7309 (*cmpsf): Rename from cmpsf; use CC_Fmode.
7310 (*conditional_branch): Rename from conditional_branch.
7311 (*reveresed_conditional_branch): Remove.
7312 (b<code>): Remove expander.
7313 * config/rx/rx-protos.h: Update.
7314
af530bb4
RH
7315 * config/rx/rx.c (rx_compare_redundant): Remove.
7316 * config/rx/rx.md (cmpsi): Don't use it.
7317 * config/rx/rx-protos.h: Update.
7318
27bf36f3
RH
7319 * config/rx/rx-modes.def (CC_F): New mode.
7320 * config/rx/rx.c (rx_select_cc_mode): New.
7321 * config/rx/rx.h (SELECT_CC_MODE): Use it.
7322 * config/rx/rx-protos.h: Update.
7323
d7fde127
RH
73242011-01-17 Richard Henderson <rth@redhat.com>
7325
7326 * except.c (dump_eh_tree): Fix stray ; after for statement.
7327
6ff38230
RG
73282011-01-17 Richard Guenther <rguenther@suse.de>
7329
7330 PR tree-optimization/47313
7331 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
7332 handling before copying the body. Properly deal with
7333 by-reference result in SSA form.
7334
114ce554
ILT
73352011-01-17 Ian Lance Taylor <iant@google.com>
7336
bf5cd92b 7337 PR target/47219
114ce554
ILT
7338 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
7339 (struct_value_alias_set): Don't define.
7340 (sparc_option_override): Don't set sparc_sr_alias_set and
7341 struct_value_alias_set.
7342 (save_or_restore_regs): Use gen_frame_mem rather than calling
7343 set_mem_alias_set.
7344 (sparc_struct_value_rtx): Likewise.
7345
98c6d93c
L
73462011-01-17 H.J. Lu <hongjiu.lu@intel.com>
7347
7348 PR target/47318
7a81008b 7349 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
7350 (_mm_maskstore_pd): Likewise.
7351 (_mm_maskload_ps): Likewise.
7352 (_mm_maskstore_ps): Likewise.
7353 (_mm256_maskload_pd): Change mask to __m256i.
7354 (_mm256_maskstore_pd): Likewise.
7355 (_mm256_maskload_ps): Likewise.
7356 (_mm256_maskstore_ps): Likewise.
7357
7358 * config/i386/i386-builtin-types.def: Updated.
7359 (ix86_expand_special_args_builtin): Likewise.
7360
7361 * config/i386/i386.c (bdesc_special_args): Update
7362 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
7363 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
7364 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
7365 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
7366
7367 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
7368 Use <avxpermvecmode> on mask register.
7369 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
7370
b9361af2 73712011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
7372 Michael Haubenwallner <michael.haubenwallner@salomon.at>
7373 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
7374
7375 PR target/46655
7376 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
7377 if <= USHRT_MAX in 32-bit mode.
7378
b7ae9eb5
RW
73792011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7380
7381 * doc/install.texi (Configuration, Specific): Wrap long
7382 lines in examples. Allow line wrapping in long options
7383 and URLs where beneficial for PDF output.
7384
4377fad9
RS
73852011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
7386
7387 * config/mips/mips.c (mips_classify_symbol): Don't return
7388 SYMBOL_PC_RELATIVE for nonlocal labels.
7389
55959ffa 73902011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 7391
55959ffa
EB
7392 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
7393
73942011-01-15 Jan Hubicka <jh@suse.cz>
7395
7396 PR tree-optimization/47276
be46831f
JH
7397 * ipa.c (function_and_variable_visibility): Do not try to mark alias
7398 declarations as needed.
7399
05842ff5
MJ
74002011-01-15 Martin Jambor <mjambor@suse.cz>
7401
7402 * common.opt (fdevirtualize): New flag.
7403 * doc/invoke.texi (Option Summary): Document it.
7404 * opts.c (default_options_table): Add devirtualize flag.
7405 * ipa-prop.c (detect_type_change): Return immediately if
7406 devirtualize flag is not set.
7407 (detect_type_change_ssa): Likewise.
7408 (compute_known_type_jump_func): Likewise.
7409 (ipa_analyze_virtual_call_uses): Likewise.
7410
f65cf2b7
MJ
74112011-01-14 Martin Jambor <mjambor@suse.cz>
7412
7413 PR tree-optimization/45934
7414 PR tree-optimization/46302
7415 * ipa-prop.c (type_change_info): New type.
7416 (stmt_may_be_vtbl_ptr_store): New function.
7417 (check_stmt_for_type_change): Likewise.
7418 (detect_type_change): Likewise.
7419 (detect_type_change_ssa): Likewise.
7420 (compute_complex_assign_jump_func): Check for dynamic type change.
7421 (compute_complex_ancestor_jump_func): Likewise.
7422 (compute_known_type_jump_func): Likewise.
7423 (compute_scalar_jump_functions): Likewise.
7424 (ipa_analyze_virtual_call_uses): Likewise.
7425 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
7426
eb5bb0fd
JM
74272011-01-14 Joseph Myers <joseph@codesourcery.com>
7428
7429 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
7430 * config/i386/i386.opt (msse5): New Alias.
7431
f2060fbe
JM
74322011-01-14 Joseph Myers <joseph@codesourcery.com>
7433
7434 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
7435 * config/sparc/linux64.h (CC1_SPEC): Likewise.
7436 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
7437 * config/sparc/sparc.h (CC1_SPEC): Likewise.
7438
3a7b4385
JM
74392011-01-14 Joseph Myers <joseph@codesourcery.com>
7440
7441 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
7442 -mcpu options.
7443 * config/sparc/linux64.h (CC1_SPEC): Likewise.
7444 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
7445 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
7446 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
7447 Likewise.
7448 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
7449
a7b778f8
JM
74502011-01-14 Joseph Myers <joseph@codesourcery.com>
7451
38be4072 7452 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 7453
a7edae0a
MS
74542011-01-14 Mike Stump <mikestump@comcast.net>
7455
7456 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
7457 * config/fr30/fr30.md: Likweise
7458 (movsi_push): Likewise.
7459 (movsi_pop): Likewise.
7460 (enter_func): Likewise.
7461 * config/moxie/moxie.md (movsi_push): Likewise.
7462 (movsi_pop): Likewise.
7463
cbabf03f
JM
74642011-01-14 Joseph Myers <joseph@codesourcery.com>
7465
7466 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
7467 %{no_archive} %{exact_version}.
7468 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
7469 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
7470 %{no_archive} %{exact_version}.
7471 * config/mips/openbsd.h (LINK_SPEC): Likewise.
7472 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
7473 * config/mips/vxworks.h: Likewise.
7474
438da41a
JM
74752011-01-14 Joseph Myers <joseph@codesourcery.com>
7476
38be4072 7477 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 7478
da290a42
JM
74792011-01-14 Joseph Myers <joseph@codesourcery.com>
7480
7481 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
7482 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
7483
8989d00e
JM
74842011-01-14 Joseph Myers <joseph@codesourcery.com>
7485
7486 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
7487 -nodefaultlib.
7488
a3010a69
JM
74892011-01-14 Joseph Myers <joseph@codesourcery.com>
7490
7491 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
7492 for mcpu not cpu.
7493 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
7494 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
7495 not cpu.
7496 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
7497 Don't handle -shlib.
7498
e7f2f537
JM
74992011-01-14 Joseph Myers <joseph@codesourcery.com>
7500
7501 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
7502 (CC1_SPEC): Don't handle -profile.
7503
34830bfd
JM
75042011-01-14 Joseph Myers <joseph@codesourcery.com>
7505
7506 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
7507 * config/mips/mips.h (CC1_SPEC): Likewise.
7508
b2d36e74
JM
75092011-01-14 Joseph Myers <joseph@codesourcery.com>
7510
7511 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
7512 * config/mips/mips.h (CC1_SPEC): Likewise.
7513
dabadc52
JM
75142011-01-14 Joseph Myers <joseph@codesourcery.com>
7515
7516 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
7517 * config/m32r/linux.h (LINK_SPEC): Likewise.
7518 * config/mips/linux.h (LINK_SPEC): Likewise.
7519 * config/mips/linux64.h (LINK_SPEC): Likewise.
7520 * config/sparc/linux.h (LINK_SPEC): Likewise.
7521 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
7522 LINK_SPEC): Likewise.
7523 * config/xtensa/linux.h (LINK_SPEC): Likewise.
7524
43ee6785
JM
75252011-01-14 Joseph Myers <joseph@codesourcery.com>
7526
7527 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
7528 %{version:-v}.
7529 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
7530
45e79dfd
JM
75312011-01-14 Joseph Myers <joseph@codesourcery.com>
7532
7533 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
7534 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
7535
37e9e71d
JM
75362011-01-14 Joseph Myers <joseph@codesourcery.com>
7537
7538 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
7539
bb127cd8
RO
75402011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7541
7542 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
7543 supports -Bstatic/-Bdynamic.
7544 * configure: Regenerate.
7545
89a012ea 75462011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 7547 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
7548
7549 PR target/46037
7550 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
7551 when checking debug_info_level. Test write_symbols instead of
7552 debug_hooks->var_location when setting flag_var_tracking_uninit.
7553
7352c013
RG
75542011-01-14 Richard Guenther <rguenther@suse.de>
7555
7556 PR tree-optimization/47179
7557 * target.def (ref_may_alias_errno): New target hook.
7558 * targhooks.h (default_ref_may_alias_errno): Declare.
7559 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
7560 (default_ref_may_alias_errno): New function.
7561 * target.h (struct ao_ref_s): Declare.
7562 * tree-ssa-alias.c: Include target.h.
7563 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
7564 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
7565 (targhooks.o): Likewise.
7566 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
7567 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
7568
9a6c9288
RG
75692011-01-14 Richard Guenther <rguenther@suse.de>
7570
7571 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
7572
0fdb0d27
RG
75732011-01-14 Richard Guenther <rguenther@suse.de>
7574
7575 PR tree-optimization/47280
7576 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
7577 return CFG changes.
7578 (tree_ssa_forward_propagate_single_use_vars): Deal with
7579 CFG changes from associate_plusminus.
7580
8f66db3b
RG
75812011-01-14 Richard Guenther <rguenther@suse.de>
7582
7583 PR middle-end/47281
7584 Revert
7585 2011-01-11 Richard Guenther <rguenther@suse.de>
7586
280d9630
EB
7587 PR tree-optimization/46076
7588 * tree-ssa.c (useless_type_conversion_p): Conversions from
7589 unprototyped to empty argument list function types are useless.
8f66db3b 7590
6c0c92e6
RG
75912011-01-14 Richard Guenther <rguenther@suse.de>
7592
7593 PR tree-optimization/47286
280d9630 7594 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 7595
db09f943
MJ
75962011-01-14 Martin Jambor <mjambor@suse.cz>
7597
7598 PR middle-end/46823
7599 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
7600
dde8a3a4
AS
76012011-01-13 Anatoly Sokolov <aesok@post.ru>
7602
7603 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
7604 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
7605 * config/xtensa/xtensa.c (xtensa_libcall_value,
7606 xtensa_function_value_regno_p): New functions.
7607 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
7608
a2b63a20
KT
76092011-01-13 Kai Tietz <kai.tietz@onevision.com>
7610
7611 PR c++/47213
7612 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
7613 PE specific hook.
7614 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
7615 New function prototype.
7616 * config/i386/winnt.c (i386_pe_assemble_visibility):
7617 Warn only if attribute was specified by user.
7618
b41f0b34
MM
76192011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
7620
7621 PR target/47251
7622 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
7623 floating point.
7624 (floatunsdidf2_fcfidu): Ditto.
7625
3f3c098d
AK
76262011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7627
7628 * config/s390/s390.c (print_operand_address): Replace 'error' with
7629 'output_operand_lossage'.
7630 (print_operand): Likewise.
7631
29fa95ed
JL
76322011-01-13 Jeff Law <law@redhat.com>
7633
280d9630 7634 PR rtl-optimization/39077
29fa95ed
JL
7635 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
7636 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
7637 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
7638 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
7639 * gcse.c (prune_insertions_deletions): New function.
7640 (compute_pre_data): Use it.
7641
71d12276
DS
76422011-01-13 Dodji Seketeli <dodji@redhat.com>
7643
7644 PR debug/PR46973
7645 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
7646 static function.
61052244 7647 (prune_unused_types_mark): Use it.
71d12276 7648
9b0f04e7
AB
76492011-01-13 Andrey Belevantsev <abel@ispras.ru>
7650
7651 PR rtl-optimization/45352
1c3ba85b 7652 * sel-sched.c: Update copyright years.
9b0f04e7 7653 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 7654 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 7655
d6a3e264
RH
76562011-01-12 Richard Henderson <rth@redhat.com>
7657
a49b692a
RH
7658 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
7659 (TARGET_MD_ASM_CLOBBERS): New.
7660
126b1483
RH
7661 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
7662 (TARGET_DELEGITIMIZE_ADDRESS): New.
7663
f3d9d2e0
RH
7664 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
7665 (clzsi2, *bsch): New patterns.
7666
d84760c9
RH
7667 * config/mn10300/mn10300.md (INT): New mode iterator.
7668 (*mov<INT>_clr): New pattern, and peep2 to generate it.
7669
ec815d65
RH
7670 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
7671 flag_split_wide_types.
7672
d6a3e264
RH
7673 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
7674 (mn10300_trampoline_init): Rewrite without a template, an immediate
7675 load and a direct branch.
7676 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
7677
0f8ab434
AS
76782011-01-12 Anatoly Sokolov <aesok@post.ru>
7679
7680 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
7681 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
7682 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
7683 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
7684
d8a24b65
KT
76852011-01-12 Kai Tietz <kai.tietz@onevision.com>
7686
7687 PR debug/47209
7688 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
7689 of type.
7690
56e22cab
JH
76912011-01-12 Jan Hubicka <jh@suse.cz>
7692
7693 PR driver/47244
7694 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
7695 (PLUGIN_COND_CLOSE): New macro.
7696 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
7697
4b18b3c2
RG
76982011-01-12 Richard Guenther <rguenther@suse.de>
7699
7700 PR lto/47259
7701 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
7702 register variables in a MEM_REF.
7703
8e38461c
JM
77042011-01-12 Joseph Myers <joseph@codesourcery.com>
7705
7706 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
7707 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
7708 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
7709 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
7710 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
7711 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
7712 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
7713 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
7714 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
7715 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
7716 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
7717 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
7718 * config/gnu-user.h: New. Copied from linux.h.
7719 (LINUX_TARGET_STARTFILE_SPEC): Rename to
7720 GNU_USER_TARGET_STARTFILE_SPEC.
7721 (LINUX_TARGET_ENDFILE_SPEC): Rename to
7722 GNU_USER_TARGET_ENDFILE_SPEC.
7723 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
7724 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
7725 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
7726 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
7727 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
7728 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
7729 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
7730 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
7731 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
7732 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
7733 * config/arm/linux-eabi.h (CC1_SPEC): Use
7734 GNU_USER_TARGET_CC1_SPEC.
7735 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
7736 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
7737 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
7738 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
7739 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
7740 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
7741 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
7742 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
7743
a570fc16
RG
77442011-01-12 Richard Guenther <rguenther@suse.de>
7745
7746 PR other/46946
7747 * doc/invoke.texi (ffast-math): Document it is turned on
7748 with -Ofast.
7749
b0223c3e
JH
77502011-01-12 Jan Hubicka <jh@suse.cz>
7751
7752 PR tree-optimization/47233
ca1e00b3
EB
7753 * opts.c (common_handle_option): Disable ipa-reference with profile
7754 feedback.
b0223c3e 7755
1c3ba85b 77562011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
7757
7758 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
7759 error message.
7760
d853ee42
NP
77612011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
7762
7763 * c-parser.c (c_lex_one_token): Updated and reindented some
7764 comments. No changes in code.
7765
4053a5a0
ILT
77662011-01-11 Ian Lance Taylor <iant@google.com>
7767
7768 * godump.c (go_output_var): Don't output the variable if there is
7769 already a type with the same name.
7770
fa3e04d2
ILT
77712011-01-11 Ian Lance Taylor <iant@google.com>
7772
7773 * godump.c (go_format_type): Don't generate float80.
7774
885fe07c
RH
77752011-01-11 Richard Henderson <rth@redhat.com>
7776
72d6e3c5
RH
7777 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
7778 declaration. Rewrite for both speed and size.
7779 (mn10300_address_cost_1): Remove.
7780 (mn10300_register_move_cost): New.
7781 (mn10300_memory_move_cost): New.
7782 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
7783 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
7784 extensions, shifts, BSWAP, CLZ.
7785 (mn10300_wide_const_load_uses_clr): Remove.
7786 (TARGET_REGISTER_MOVE_COST): New.
7787 (TARGET_MEMORY_MOVE_COST): New.
7788 * config/mn10300/mn10300-protos.h: Update.
7789 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
7790
df37c023
RH
7791 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
7792 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
7793 * config/mn10300/mn10300-protos.h: Update.
7794 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
7795 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
7796 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
7797 (*test_int_bitfield, *test_byte_bitfield): Remove.
7798 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 7799 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 7800
85a337b5
RH
7801 * config/mn10300/constraints.md ("c"): Rename from "A".
7802 ("A", "D"): New constraint letters.
7803 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
7804 (fmssf4, fnmasf4, fnmssf4): Likewise.
7805
a5c727e3
RH
7806 * config/mn10300/mn10300.md (isa): New attribute.
7807 (enabled): New attribute.
7808
0d9e23f4
RH
7809 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
7810 (abssf2, negsf2): Define only for hardware fp.
7811 (sqrtsf2): Reformat.
7812 (addsf3, subsf3, mulsf3): Merge expander and insn.
7813
c157b3f0
RH
7814 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
7815 (DEBUGGER_AUTO_OFFSET): Remove.
7816 (DEBUGGER_ARG_OFFSET): Remove.
7817
cc909bba
RH
7818 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
7819 Emit register stores with the same offsets as the hardware.
7820 (mn10300_store_multiple_operation): Don't check that the register
7821 save offsets are monotonic.
7822 * config/mn10300/mn10300-protos.h: Update.
7823
e3b5c2f3
RH
7824 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
7825
885fe07c
RH
7826 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
7827 in terms of the value on the stack, not the MDR register.
7828
6e701822
JH
78292011-01-11 Jan Hubicka <jh@suse.cz>
7830
7831 PR lto/45721
7832 PR lto/45375
7833 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
7834 (symbol_alias_set_destroy, symbol_alias_set_contains,
7835 propagate_aliases_backward): Declare.
7836 * lto-streamer-out.c (struct sets): New sturcture.
7837 (trivally_defined_alias): New function.
7838 (output_alias_pair_p): Rewrite.
7839 (output_unreferenced_globals): Fix output of alias pairs.
7840 (produce_symtab): Likewise.
7841 * ipa.c (function_and_variable_visibility): Set weak alias destination
7842 as needed in lto.
7843 * varasm.c (symbol_alias_set_t): Remove.
7844 (symbol_alias_set_destroy): Export.
7845 (propagate_aliases_forward, propagate_aliases_backward): New functions
7846 based on ...
7847 (compute_visible_aliases): ... this one; remove.
7848 (trivially_visible_alias): New
7849 (trivially_defined_alias): New.
7850 (remove_unreachable_alias_pairs): Rewrite.
7851 (finish_aliases_1): Reorganize code checking if alias is defined.
7852 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
7853 in LTO mode.
7854
1b248907
RG
78552011-01-11 Richard Guenther <rguenther@suse.de>
7856
7857 PR tree-optimization/46076
7858 * tree-ssa.c (useless_type_conversion_p): Conversions from
7859 unprototyped to empty argument list function types are useless.
7860
b1923f0a
RG
78612011-01-11 Richard Guenther <rguenther@suse.de>
7862
7863 PR middle-end/45235
7864 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
7865 volatile MEMs as MEM_READONLY_P.
7866
e98965af
RG
78672011-01-11 Richard Guenther <rguenther@suse.de>
7868
7869 PR tree-optimization/47239
7870 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
7871
9f9ca914
JL
78722011-01-11 Jeff Law <law@redhat.com>
7873
1ee3ea05 7874 PR tree-optimization/47086
9f9ca914
JL
7875 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
7876 IVs from statements that might throw.
7877
345fdcb7
JH
78782011-01-10 Jan Hubicka <jh@suse.cz>
7879
7880 PR lto/45375
7881 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
7882
c459c97b
JH
78832011-01-10 Jan Hubicka <jh@suse.cz>
7884
7885 PR lto/45375
7886 * profile.c (read_profile_edge_counts): Ignore profile inconistency
7887 when correcting profile.
7888
06c9eb51
JH
78892011-01-10 Jan Hubicka <jh@suse.cz>
7890
7891 PR lto/46083
7892 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
7893 DECL_FINI_PRIORITY.
7894 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
7895 Restore DECL_FINI_PRIORITY.
7896
ae9fd815
RW
78972011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7898
7899 * doc/gimple.texi: Fix quoting of multi-word return values in
7900 @deftypefn statements. Ensure presence of return value. Wrap
7901 overlong @deftypefn lines.
7902 (is_gimple_operand, is_gimple_min_invariant_address): Remove
7903 descriptions of removed functions.
7904 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
7905 of multi-word return value in @deftypefn statement.
7906
0ecb4a7c
RW
79072011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7908
7909 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
7910 (Conditional Expressions, Logical Operators)
7911 (Statement and operand traversals): Do not indent smallexample
7912 code. Fix duplicate function argument in example.
7913
2e5e346d
JL
79142011-01-10 Jeff Law <law@redhat.com>
7915
1ee3ea05 7916 PR tree-optimization/47141
2e5e346d
JL
7917 * ipa-split.c (split_function): Handle case where we are
7918 returning a value and the return block has a virtual operand phi.
7919
cf9712cc
JH
79202011-01-10 Jan Hubicka <jh@suse.cz>
7921
1c3ba85b 7922 PR tree-optimization/47234
cf9712cc
JH
7923 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
7924 (pass_feedback_split_functions): Declare.
7925 * passes.c (init_optimization_passes): Add ipa-split as subpass of
7926 tree-profile.
7927 * ipa-split.c (gate_split_functions): Update comments; disable
7928 split-functions for profile_arc_flag and branch_probabilities.
7929 (gate_feedback_split_functions): New function.
7930 (execute_feedback_split_functions): New function.
7931 (pass_feedback_split_functions): New global var.
7932
94cd932c
L
79332011-01-10 H.J. Lu <hongjiu.lu@intel.com>
7934
7935 PR lto/46760
7936 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
7937 calling gimple_call_set_cannot_inline.
7938
fbbfcaf1
IS
79392011-01-10 Iain Sandoe <iains@gcc.gnu.org>
7940
7941 * config/darwin-sections.def: Remove unused section.
7942
d06865bf
DK
79432011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
7944
7945 PR c++/47218
7946 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
7947
96bbfbac
NP
79482011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
7949
7950 PR objc/47232
7951 * c-parser.c (c_parser_declaration_or_fndef): Improved
7952 error message.
7953
1ba6516f
KT
79542011-01-09 Kai Tietz <kai.tietz@onevision.com>
7955
7956 * config/i386/winnt.c (i386_pe_start_function): Make sure
7957 to switch back to function's section.
7958
0c5d770e
IS
79592011-01-09 Iain Sandoe <iains@gcc.gnu.org>
7960
7961 PR gcc/46902
7962 PR testsuite/46912
7963 * plugin.c: Move include of dlfcn.h from here...
7964 * system.h: ... to here.
7965
79662011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
7967
7968 * doc/cpp.texi (C++ Named Operators): Fix markup for header
7969 file name.
7970 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
7971 two extra empty pages in PDF output.
7972
046608a3
NP
79732011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
7974
7975 PR objc/47078
7976 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
7977 for error recovery purposes behave as if it was not specified so
7978 that the default type is usd.
7979
8cb114b9
JH
79802011-01-07 Jan Hubicka <jh@suse.cz>
7981
7982 PR tree-optmization/46469
7983 * ipa.c (function_and_variable_visibility): Clear needed flags on
7984 nodes with external decls; handle weakrefs merging correctly.
7985
b294a75e
JM
79862011-01-07 Joseph Myers <joseph@codesourcery.com>
7987
7988 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
7989 not false.
7990
96bdf9b4
JH
79912011-01-07 Jan Hubicka <jh@suse.cz>
7992
7993 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
7994 and no longer claim that gold is required for linker plugin.
7995 * configure: Regenerate.
7996 * gcc.c (PLUGIN_COND): New macro.
7997 (LINK_COMMAND_SPEC): Use it.
7998 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
7999 * config.in (HAVE_LTO_PLUGIN): New.
8000 * configure.ac (--with-lto-plugin): New parameter; autodetect
8001 HAVE_LTO_PLUGIN.
8002
17afc0fe
JH
80032011-01-07 Jan Hubicka <jh@suse.cz>
8004
8005 PR tree-optimization/46367
8006 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
8007 when we can update original.
8008 (cgraph_mark_inline_edge): Sanity check.
8009 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
8010
d4c48c0f
UW
80112011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8012
8013 * config/spu/spu.h (ASM_COMMENT_START): Define.
8014
96f5b137
L
80152011-01-07 H.J. Lu <hongjiu.lu@intel.com>
8016
8017 PR driver/42445
8018 * gcc.c (%>S): New.
8019 (SWITCH_KEEP_FOR_GCC): Likewise.
8020 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
8021 (do_spec_1): Handle "%>".
8022
8023 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
8024
c6a8f6de
JJ
80252011-01-07 Jakub Jelinek <jakub@redhat.com>
8026
c21bbd7a
JJ
8027 PR target/47201
8028 * config/i386/i386.c (ix86_delegitimize_address): If
8029 simplify_gen_subreg fails, return orig_x.
8030
c6a8f6de
JJ
8031 PR bootstrap/47187
8032 * value-prof.c (gimple_stringop_fixed_value): Handle
8033 lhs of the call properly.
8034
fe95fbf9
JH
80352011-01-07 Jan Hubicka <jh@suse.cz>
8036
8037 PR lto/45375
8038 * lto-opt.c (lto_reissue_options): Set flag_shlib.
8039
14d11d40
IS
80402011-01-07 Iain Sandoe <iains@gcc.gnu.org>
8041
72e961c8
EB
8042 * target.def (function_switched_text_sections): New hook.
8043 * doc/tm.texi: Regenerated.
8044 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 8045 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
8046 (final_scan_insn): Call function_switched_text_sections when a
8047 mid-function section change occurs.
14d11d40 8048 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
8049 * config/darwin-protos.h (darwin_function_switched_text_sections):
8050 Likewise.
14d11d40 8051 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 8052 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 8053
0b764288
IS
80542011-01-07 Iain Sandoe <iains@gcc.gnu.org>
8055
8056 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
8057 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
8058 the secondary code fragment when outputting for DWARF == 2.
8059
2ac6bb04
AS
80602011-01-07 Anatoly Sokolov <aesok@post.ru>
8061
8062 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
8063 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
8064 Remove.
8065 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
8066 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
8067
9f82de11
EB
80682011-01-06 Eric Botcazou <ebotcazou@adacore.com>
8069
8070 PR debug/46704
280d9630
EB
8071 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
8072 when it is not empty.
9f82de11
EB
8073
80742011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 8075
1ed72abf 8076 Bobcat Enablement
14b52538 8077 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 8078 (case ${target}): Add btver1.
14b52538 8079 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 8080 -march=native recognize btver1 processors.
14b52538 8081 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 8082 btver1 def_and_undef
14b52538 8083 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
8084 btver1 cost table.
8085 (m_BTVER1): New definition.
8086 (m_AMD_MULTIPLE): Includes m_BTVER1.
8087 (initial_ix86_tune_features): Add btver1 tune.
8088 (processor_target_table): Add btver1 entry.
8089 (static const char *const cpu_names): Add btver1 entry.
8090 (software_prefetching_beneficial_p): Add btver1.
8091 (ix86_option_override_internal): Add btver1 instruction sets.
8092 (ix86_issue_rate): Add btver1.
8093 (ix86_adjust_cost): Add btver1.
14b52538 8094 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
8095 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
8096 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
8097 * config/i386/i386.md (define_attr "cpu"): Add btver1.
8098
e1a973d8
RO
80992011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8100
8101 PR target/43309
8102 * config/i386/i386.c (legitimize_tls_address)
8103 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
8104 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
8105 (tls_initial_exec_64_sun): New pattern.
8106
c73f67c5
GP
81072011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
8108
8109 * doc/invoke.texi (Overall Options): Improve wording and markup
8110 of the description of -wrapper.
8111
bc4c6f9c
JM
81122011-01-06 Joseph Myers <joseph@codesourcery.com>
8113
8114 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
8115 rdynamic, threads): New Driver options.
8116
adb75db0
RO
81172011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8118
8119 PR target/38118
8120 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
8121 if coming from .tdata.
8122 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
8123
402c1cb4
JH
81242011-01-06 Jan Hubicka <jh@suse.cz>
8125
8126 PR lto/47188
8127 * collect2.c (main): Do not enable LTOmode when plugin is active.
8128
a4da6485
RO
81292011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8130
8131 PR other/45915
8132 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
8133 --version output if supported.
8134 * configure: Regenerate.
8135
028dbdf4
JM
81362011-01-06 Joseph Myers <joseph@codesourcery.com>
8137
8138 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
8139 Driver options.
8140
dfe776dd
JJ
81412011-01-06 Jakub Jelinek <jakub@redhat.com>
8142
8143 PR c/47150
8144 * c-convert.c (convert): When converting a complex expression
8145 other than COMPLEX_EXPR to a different complex type, ensure
8146 c_save_expr is called instead of save_expr, unless in_late_binary_op.
8147 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
8148 when converting COMPLEX_TYPE.
8149
210dedfe
IR
81502011-01-06 Ira Rosen <irar@il.ibm.com>
8151
8152 PR tree-optimization/47139
8153 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
8154 only the last reduction value is used outside the loop. Update
8155 documentation.
8156
cd33a412
JM
81572011-01-05 Joseph Myers <joseph@codesourcery.com>
8158
8159 * config/rtems.opt: New.
8160 * config.gcc (*-*-rtems*): Use rtems.opt.
8161
819edd94
CF
81622011-01-05 Changpeng Fang <changpeng.fang@amd.com>
8163
8164 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
8165 processors do not support 3DNow instructions.
8166
dc242c4a
UW
81672011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8168
8169 * config/spu/spu.c (spu_option_override): Set parameter
8170 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
8171
be286227
JH
81722011-01-05 Jan Hubicka <jh@suse.cz>
8173
8174 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
8175 at the command line.
8176
644e637f
MJ
81772011-01-05 Martin Jambor <mjambor@suse.cz>
8178
8179 PR lto/47162
8180 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
8181 deltas on streamed outgoing edges.
8182 (output_node_opt_summary): Output info for outgoing edges only when
8183 the node is in new parameter set.
8184 (output_cgraph_opt_summary): New parameter set, passed to the two
8185 aforementioned functions. Update its forward declaration and its
8186 callee too.
8187
7bd11157
TT
81882011-01-05 Tom Tromey <tromey@redhat.com>
8189
8190 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
8191 operator to c_finish_omp_atomic.
8192 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
8193 (build_unary_op): Update.
8194 (build_modify_expr): Update.
8195 (build_asm_expr): Update.
8196
f626b979
UW
81972011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8198
8199 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
8200 newly inserted insns.
8201 (pad_bb): Likewise.
8202 (spu_emit_branch_hint): Likewise.
8203 (insert_hbrp_for_ilb_runout): Likewise.
8204 (spu_machine_dependent_reorg): Call df_finish_pass after
8205 schedule_insns returns.
8206
4c825c02
UW
82072011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8208
8209 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
8210
5e9fba51
EB
82112011-01-05 Eric Botcazou <ebotcazou@adacore.com>
8212
8213 PR tree-optimization/47005
8214 * tree-sra.c (struct access): Add 'non_addressable' bit.
8215 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
8216 (decide_one_param_reduction): Return 0 if the parameter is passed by
8217 reference and one of the accesses in the group is non_addressable.
8218
3ebb5ca6
EB
82192011-01-04 Eric Botcazou <ebotcazou@adacore.com>
8220
8221 PR tree-optimization/47056
8222 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
8223 (mark_load): Likewise. Handle FUNCTION_DECL specially.
8224 (mark_store): Likewise. Pass STMT to ipa_record_reference.
8225
d5d4d14e
EB
82262011-01-04 Eric Botcazou <ebotcazou@adacore.com>
8227
8228 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
8229 initializer. Skip view conversions from aggregate types.
8230
d996ef70
KT
82312011-01-04 Kai Tietz <kai.tietz@onevision.com>
8232
8233 PR bootstrap/47055
8234 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
8235
509d65dd 82362011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
8237
8238 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
8239 obvious typo.
8240
55c623b5
UW
82412011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8242
8243 * function.c (thread_prologue_and_epilogue_insns): Do not crash
8244 on empty epilogue sequences.
8245
b98d6b35
JM
82462011-01-04 Joseph Myers <joseph@codesourcery.com>
8247
8248 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
8249 non-static): New Driver options.
8250
a0d43bac
JZ
82512011-01-04 Jie Zhang <jie@codesourcery.com>
8252
8253 PR driver/47137
8254 * gcc.c (default_compilers[]): Set combinable field to 0
8255 for all assembly languages.
8256
2b18eb32
MX
82572011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
8258
8259 * config/mips/loongson3a.md: New file.
8260 * config/mips/mips.md: Include loongson3a.md.
8261 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
8262 TUNE_LOONGSON_3A.
8263
42a48c4f
EB
82642011-01-03 Eric Botcazou <ebotcazou@adacore.com>
8265
8266 PR middle-end/47017
8267 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
8268 instead of convert_memory_address_addr_space on the base expression.
8269
9c1732c4
UW
82702011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8271
8272 * config/spu/spu.c (spu_option_override): Update error text
8273 for bad -march= / -mtune= values.
8274
aa474365
UW
82752011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8276
8277 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
8278 if branch-hint optimization will be performed.
8279
9766135b
JJ
82802011-01-03 Jakub Jelinek <jakub@redhat.com>
8281
371556ee
JJ
8282 PR tree-optimization/47148
8283 * ipa-split.c (split_function): Convert arguments to
8284 DECL_ARG_TYPE if possible.
8285
1ac12fa2
JJ
8286 PR tree-optimization/47155
8287 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
8288 when computing uns.
8289
9766135b
JJ
8290 PR rtl-optimization/47157
8291 * combine.c (try_combine): If undobuf.other_insn becomes
8292 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
8293 and set *new_direct_jump_p too.
8294
f4a2e571
SP
82952011-01-03 Sebastian Pop <sebastian.pop@amd.com>
8296
8297 PR tree-optimization/47021
8298 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
8299
9f8e43c0
JJ
83002011-01-03 Jakub Jelinek <jakub@redhat.com>
8301
8302 * gcc.c (process_command): Update copyright notice dates.
8303 * gcov.c (print_version): Likewise.
8304 * gcov-dump.c (print_version): Likewise.
8305 * mips-tfile.c (main): Likewise.
8306 * mips-tdump.c (main): Likewise.
8307
1a2e38f3
MJ
83082011-01-03 Martin Jambor <mjambor@suse.cz>
8309
8310 PR tree-optimization/46801
8311 * tree-sra.c (type_internals_preclude_sra_p): Check whether
8312 aggregate fields start at byte boundary instead of the bit-field flag.
8313
56b721c5
L
83142011-01-03 H.J. Lu <hongjiu.lu@intel.com>
8315
8316 PR driver/47137
8317 * gcc.c (main): Revert revision 168407.
8318
839d549b
MJ
83192011-01-03 Martin Jambor <mjambor@suse.cz>
8320
8321 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
8322
4ce99a20 83232011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
8324
8325 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
8326 vector optab to expand vector/scalar shift, update gimple to vector.
8327
76df0ae6
MJ
83282011-01-03 Martin Jambor <mjambor@suse.cz>
8329
8330 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
8331 a thunk.
8332
ce47fda3
MJ
83332011-01-03 Martin Jambor <mjambor@suse.cz>
8334
8335 PR tree-optimization/46984
8336 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
8337 HOST_WIDE_INT.
8338 (cgraph_create_indirect_edge): Fixed line length.
8339 (cgraph_indirect_call_info): Declare.
8340 (cgraph_make_edge_direct) Update declaration.
8341 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
8342 (cgraph_create_indirect_edge): Use it.
8343 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
8344 callees.
8345 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
8346 the new thunk_delta representation.
8347 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
8348 HOST_WIDE_INT.
8349 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
8350 (ipa_read_indirect_edge_info): Likewise.
8351 * lto-cgraph.c (output_edge_opt_summary): New function.
8352 (output_node_opt_summary): Call it on all outgoing edges.
8353 (input_edge_opt_summary): New function.
8354 (input_node_opt_summary): Call it on all outgoing edges.
8355
1e67fa1f
L
83562011-01-02 H.J. Lu <hongjiu.lu@intel.com>
8357
8358 PR driver/47137
8359 * gcc.c (main): Don't check have_o when settting combine_inputs.
8360
6656b2ac
EB
83612011-01-02 Eric Botcazou <ebotcazou@adacore.com>
8362
8363 * regrename.c: Add general comment describing the pass.
8364 (struct du_head): Remove 'length' field.
8365 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
8366 (regrename_optimize): Do not sort chains. Rework comments, add others.
8367 Force renaming to the preferred class (if any) in the first pass and do
8368 not consider registers that belong to it in the second pass.
8369 (create_new_chain): Do not set 'length' field.
8370 (scan_rtx_reg): Likewise.
8371
bc470c24
JJ
83722011-01-02 Jakub Jelinek <jakub@redhat.com>
8373
4e996296
JJ
8374 PR tree-optimization/47140
8375 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
8376 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
8377 to bit_value_binop.
8378
bc470c24 8379 PR rtl-optimization/47028
6656b2ac
EB
8380 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
8381 parm_birth_insn instead of at the beginning of first bb.
bc470c24 8382
5af62fcd 83832011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
8384
8385 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
8386 Remove the word "see" before "@pxref".
8387 * doc/rtl.texi: Remove the word "see" before "@pxref".
8388
0e20c89f
JH
83892011-01-01 Jan Hubicka <jh@suse.cz>
8390
6656b2ac
EB
8391 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
8392 memory.
0e20c89f 8393
220e83ca
KT
83942011-01-01 Kai Tietz <kai.tietz@onevision.com>
8395
8396 PR target/38662
6656b2ac 8397 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 8398
ad41bd84 8399\f
797103eb 8400Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
8401
8402Copying and distribution of this file, with or without modification,
8403are permitted in any medium without royalty provided the copyright
8404notice and this notice are preserved.