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