re PR debug/28047 (DWARF output_file_names should really understand DOS pathnames)
[gcc.git] / gcc / ChangeLog
1 2011-02-28 Kai Tietz <kai.tietz@onevision.com>
2
3 PR debug/28047
4 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
5 (lookup_filename): Likewise.
6 * final.c (remap_debug_filename): Use filename_ncmp instead of
7 strncmp.
8
9 2011-02-28 Bernd Schmidt <bernds@codesourcery.com>
10 Jakub Jelinek <jakub@redhat.com>
11
12 PR middle-end/47893
13 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
14 (assign_stack_local_1): Change last argument type to int.
15 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
16 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
17 don't record padding space into frame_space_list nor
18 use those areas.
19 (assign_stack_local): Adjust caller.
20 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
21 of assign_stack_local, pass 0 as last argument.
22 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
23 callers.
24
25 2011-02-28 Jakub Jelinek <jakub@redhat.com>
26
27 PR debug/47283
28 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
29 Use target address_mode and pointer_mode hooks instead of hardcoded
30 Pmode and ptr_mode. Handle some simple cases of extending if
31 POINTERS_EXTEND_UNSIGNED < 0.
32 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
33 Call convert_debug_memory_address.
34 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
35 convert_debug_memory_address.
36
37 PR middle-end/46790
38 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
39 * configure: Regenerated.
40 * config.in: Regenerated.
41 * varasm.c (default_function_section): Return NULL
42 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit
43 section name.
44
45 2011-02-28 Martin Jambor <mjambor@suse.cz>
46
47 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
48 the description to match the printed values.
49
50 2011-02-28 Richard Guenther <rguenther@suse.de>
51
52 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
53 of the copied scope tree.
54
55 2011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
56
57 * doc/extend.texi (Function Attributes): Avoid deeply (and
58 wrongly) nested tables.
59
60 2011-02-27 Jakub Jelinek <jakub@redhat.com>
61
62 PR middle-end/47903
63 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
64 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
65 r isn't op0 nor op1.
66
67 2011-02-23 Georg-Johann Lay <avr@gjlay.de>
68
69 * config/avr/avr.md: Remove magic comment for emacs.
70
71 2011-02-23 Georg-Johann Lay <avr@gjlay.de>
72
73 PR target/45261
74 * config/avr/avr.c (avr_option_override): Use error on bad options.
75 (avr_help): New function.
76 (TARGET_HELP): Define.
77
78 2011-02-22 Georg-Johann Lay <avr@gjlay.de>
79
80 PR target/42240
81 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
82 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
83
84 2011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
85
86 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
87 (ARM Options): Ditto.
88 (i386 and x86-64 Options): Ditto.
89 (RX Options): Ditto.
90 (SPARC Options): Ditto.
91
92 2011-02-26 Tijl Coosemans <tijl@coosemans.org>
93
94 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
95 FreeBSD 6 and later. Generally use cpu generic.
96
97 2011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
98
99 * doc/cpp.texi: Update copyright years.
100
101 2011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
102
103 PR target/46898
104 * config/lm32/lm32.md (ashrsi3): Added needed variable.
105
106 2011-02-25 Jon Beniston <jon@beniston.com>
107
108 PR target/46898
109 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
110 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
111 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
112 (lm32_block_move_inline): Add type cast to remove warning.
113 (lm32_expand_prologue): Generate fp in a way compatible with
114 dwarf2out.
115 (gen_int_relational): Move declarations to start of function.
116
117 2011-02-25 Eric Botcazou <ebotcazou@adacore.com>
118
119 PR tree-optimization/45470
120 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
121 can throw internally only.
122 * tree-vect-stmts.c (vectorizable_call): Likewise.
123
124 2011-02-24 Anatoly Sokolov <aesok@post.ru>
125
126 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
127 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
128 * config/stormy16/stormy16-protos.h
129 (xstormy16_preferred_reload_class): Remove.
130 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
131 static. Change 'rclass' argument and return type to reg_class_t.
132 (TARGET_PREFERRED_RELOAD_CLASS,
133 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
134
135 2011-02-24 Richard Guenther <rguenther@suse.de>
136
137 * lto-streamer-in.c (input_bb): Do not find referenced vars
138 in debug statements.
139
140 2011-02-23 Jason Merrill <jason@redhat.com>
141
142 * common.opt (fabi-version): Document v5 and v6.
143
144 2011-02-23 Richard Guenther <rguenther@suse.de>
145
146 PR tree-optimization/47849
147 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
148
149 2011-02-23 Jie Zhang <jie@codesourcery.com>
150
151 * opts-common.c (decode_cmdline_option): Print empty string
152 argument as "" in decoded->orig_option_with_args_text.
153 * gcc.c (execute): Print empty string argument as ""
154 in the verbose output.
155 (do_spec_1): Keep empty string argument.
156
157 2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
158
159 * config.gcc: Declare score-* and crx-* obsolete.
160
161 2011-02-23 Jie Zhang <jie@codesourcery.com>
162
163 PR rtl-optimization/47763
164 * web.c (web_main): Ignore naked clobber when replacing register.
165
166 2011-02-22 Anatoly Sokolov <aesok@post.ru>
167
168 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
169 Remove.
170
171 2011-02-22 Sebastian Pop <sebastian.pop@amd.com>
172
173 PR doc/47848
174 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
175
176 2011-02-22 Mike Stump <mikestump@comcast.net>
177
178 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
179 assembler.
180 * configure: Regenerate.
181
182 2011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
183
184 PR rtl-optimization/46002
185 * ira-color.c (update_copy_costs): Change class intersection
186 test to reg_class_contents[] test of 'hard_regno'.
187
188 2011-02-21 Joseph Myers <joseph@codesourcery.com>
189
190 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
191 than Driver option.
192 * config/hpux11.opt (mt): Likewise.
193 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
194 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
195 * config/vax/elf.opt (mno-asm-pic): Likewise.
196 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
197
198 2011-02-21 Mike Stump <mikestump@comcast.net>
199
200 PR target/47822
201 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
202 tree so we can get save the type.
203 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
204 for CFString instead of trying to use past the end of the builtins.
205 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
206 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
207 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
208 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
209 Rename to darwin_builtin_cfstring.
210 (darwin_init_cfstring_builtins): Return the built type.
211
212 2011-02-21 Uros Bizjak <ubizjak@gmail.com>
213
214 PR target/47840
215 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
216 (_mm256_insert_epi64): Use _mm_insert_epi64.
217
218 2011-02-21 Anatoly Sokolov <aesok@post.ru>
219
220 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
221 * config/stormy16/stormy16-protos.h
222 (xstormy16_mode_dependent_address_p): Remove.
223 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
224 Make static. Change return type to bool. Change argument type to
225 const_rtx. Remove dead code.
226 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
227
228 2011-02-21 Richard Guenther <rguenther@suse.de>
229
230 PR lto/47820
231 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
232 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
233 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
234 TUs context.
235 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
236 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
237
238 2011-02-20 Richard Guenther <rguenther@suse.de>
239
240 PR lto/47822
241 * tree.c (free_lang_data_in_decl): Clean builtins from
242 the TU decl BLOCK_VARS.
243
244 2011-02-19 Alexandre Oliva <aoliva@redhat.com>
245
246 PR debug/47620
247 PR debug/47630
248 * haifa-sched.c (fix_tick_ready): Skip tick computation
249 for debug insns.
250
251 2011-02-19 Richard Guenther <rguenther@suse.de>
252
253 PR lto/47647
254 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
255 Remove lazy BLOCK_VARS streaming.
256 (lto_input_ts_block_tree_pointers): Likewise.
257 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
258
259 2011-02-19 Joseph Myers <joseph@codesourcery.com>
260
261 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
262
263 2011-02-19 Joseph Myers <joseph@codesourcery.com>
264
265 * config/i386/biarch32.h, config/i386/mach.h,
266 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
267
268 2011-02-19 Jakub Jelinek <jakub@redhat.com>
269
270 PR target/47800
271 * config/i386/i386.md (peephole2 for shift and plus): Use
272 operands[1] original mode in the first insn.
273
274 2011-02-18 Mike Stump <mikestump@comcast.net>
275
276 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
277
278 2011-02-18 Jan Hubicka <jh@suse.cz>
279
280 PR middle-end/47788
281 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
282 to zero when the function is not inlinable at all.
283
284 2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
285
286 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
287 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
288 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
289 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
290 * config/pa/t-pa64: Likewise.
291 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
292
293 2011-02-18 Jakub Jelinek <jakub@redhat.com>
294
295 PR driver/47787
296 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
297
298 2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
299
300 PR target/47792
301 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
302
303 2011-02-18 Anatoly Sokolov <aesok@post.ru>
304
305 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
306 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
307 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
308 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
309 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
310 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
311 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
312 m32r_load_postinc_p, m32r_store_preinc_predec_p,
313 m32r_legitimate_address_p): New functions.
314 * config/m32r/constraints.md (constraint "S"): Don't use
315 STORE_PREINC_PREDEC_P.
316 (constraint "U"): Don't use LOAD_POSTINC_P.
317
318 2011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
319
320 PR rtl-optimization/46178
321 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
322 compute ira_hard_regno_cover_class[].
323
324 2011-02-18 Richard Guenther <rguenther@suse.de>
325
326 PR lto/47798
327 * lto-streamer.h (lto_global_var_decls): Declare.
328 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
329 statics for global var processing.
330
331 2011-02-18 Richard Guenther <rguenther@suse.de>
332
333 PR tree-optimization/47737
334 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
335 edge dominance check.
336
337 2011-02-18 Jakub Jelinek <jakub@redhat.com>
338
339 PR debug/47780
340 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
341 avoid invalid rtx sharing.
342
343 2011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
344
345 * doc/cpp.texi (Obsolete Features): Add background on the
346 origin of assertions.
347
348 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
349
350 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
351 objc_abi == 2.
352 * config/darwin.c (output_objc_section_asm_op): Added support for
353 ABI v1 and v2.
354 (is_objc_metadata): New.
355 (darwin_objc2_section): New.
356 (darwin_objc1_section): New.
357 (machopic_select_section): Added support for ABI v1 and v2.
358 (darwin_emit_objc_zeroed): New.
359 (darwin_output_aligned_bss): Detect objc metadata and treat it
360 appropriately.
361 (darwin_asm_output_aligned_decl_common): Same.
362 (darwin_asm_output_aligned_decl_local): Same.
363 * config/darwin-sections.def: Updated for ABI v1 and v2.
364 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
365 compiling Objective-C code for the NeXT runtime, default to using
366 ABI version 0 for 32-bit, and version 2 for 64-bit.
367
368 2011-02-17 Joseph Myers <joseph@codesourcery.com>
369
370 * common.opt (optimize_fast): New Variable.
371 * opts.c (default_options_optimization): Use opts->x_optimize_fast
372 instead of local variable ofast.
373
374 2011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
375
376 * doc/invoke.texi (fobjc-abi-version): Documented.
377 (fobjc-nilcheck): Documented.
378 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
379 version.
380
381 2011-02-17 Joseph Myers <joseph@codesourcery.com>
382
383 PR driver/47390
384 * common.opt (export-dynamic): New Driver option.
385 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
386
387 2011-02-17 Joseph Myers <joseph@codesourcery.com>
388
389 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
390
391 2011-02-17 Alexandre Oliva <aoliva@redhat.com>
392 Jan Hubicka <jh@suse.cz>
393
394 PR debug/47106
395 PR debug/47402
396 * cfgexpand.c (account_used_vars_for_block): Remove.
397 (estimated_stack_frame_size): Use referenced vars.
398 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
399 that were referenced in the original function. Test src_fn
400 rather than cfun. Drop redundant get_var_ann.
401 (setup_one_parameter): Drop redundant get_var_ann.
402 (declare_return_variable): Likewise.
403 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
404 (copy_arguments_for_versioning): Drop redundant get_var_ann.
405 * ipa-inline.c (compute_inline_parameters): Do not compute
406 disregard_inline_limits here.
407 (compute_inlinable_for_current, pass_inlinable): New.
408 (pass_inline_parameters): Require PROP_referenced_vars.
409 * cgraphunit.c (cgraph_process_new_functions): Don't run
410 compute_inline_parameters explicitly unless function is in SSA form.
411 (cgraph_analyze_function): Set .disregard_inline_limits.
412 * tree-sra.c (convert_callers): Compute inliner parameters
413 only for functions already in SSA form.
414
415 2011-02-17 Joseph Myers <joseph@codesourcery.com>
416
417 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
418 -mlittle-endian-data.
419
420 2011-02-17 Joseph Myers <joseph@codesourcery.com>
421
422 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
423 -mno-fpu, not -fpu and -no-fpu.
424 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
425 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
426
427 2011-02-17 Uros Bizjak <ubizjak@gmail.com>
428
429 PR target/43653
430 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
431 input reload with PLUS RTX.
432
433 2011-02-16 Joseph Myers <joseph@codesourcery.com>
434
435 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
436 of InverseVar(MDMX).
437
438 2011-02-16 Joseph Myers <joseph@codesourcery.com>
439
440 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
441 --m4-340.
442
443 2011-02-16 Joseph Myers <joseph@codesourcery.com>
444
445 * config/mn10300/mn10300.opt (mno-crt0): New.
446
447 2011-02-16 Joseph Myers <joseph@codesourcery.com>
448
449 * config/m68k/uclinux.opt (static-libc): New Driver option.
450
451 2011-02-16 Joseph Myers <joseph@codesourcery.com>
452
453 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
454
455 2011-02-16 Joseph Myers <joseph@codesourcery.com>
456
457 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
458 %{muser-extend-enabled}.
459
460 2011-02-16 Richard Guenther <rguenther@suse.de>
461
462 PR tree-optimization/47738
463 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
464 the TODO from tree_predictive_commoning.
465
466 2011-02-15 Jeff Law <law@redhat.com>
467
468 Revert
469 2011-01-25 Jeff Law <law@redhat.com>
470
471 PR rtl-optimization/37273
472 * ira-costs.c (scan_one_insn): Detect constants living in memory and
473 handle them like argument loads from stack slots. Do not double
474 count memory for memory constants and argument loads from stack slots.
475
476 2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
477
478 PR middle-end/47725
479 * combine.c (cant_combine_insn_p): Revert the last change.
480
481 2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
482
483 PR target/47755
484 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
485 mode for vector constants. Remove code that checks for TImode.
486
487 2011-02-15 Alexandre Oliva <aoliva@redhat.com>
488
489 PR debug/47106
490 PR debug/47402
491 * cgraph.h (compute_inline_parameters): Return void.
492 * ipa-inline.c (compute_inline_parameters): Adjust.
493
494 2011-02-15 Alexandre Oliva <aoliva@redhat.com>
495
496 PR debug/47106
497 PR debug/47402
498 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
499 rather than decl.
500 * cfgexpand.c (estimated_stack_frame_size): Likewise.
501 * ipa-inline.c (compute_inline_parameters): Adjust.
502
503 2011-02-15 Alexandre Oliva <aoliva@redhat.com>
504
505 PR debug/47106
506 PR debug/47402
507 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
508 Adjust all users. Pass FN to...
509 * tree-flow-inline.h (first_referenced_var): ... this. Add
510 fn argument.
511 * ipa-struct-reorg.c: Adjust.
512 * tree-dfa.c: Adjust.
513 * tree-into-ssa.c: Adjust.
514 * tree-sra.c: Adjust.
515 * tree-ssa-alias.c: Adjust.
516 * tree-ssa-live.c: Adjust.
517 * tree-ssa.c: Adjust.
518 * tree-ssanames.c: Adjust.
519 * tree-tailcall.c: Adjust.
520
521 2011-02-15 Alexandre Oliva <aoliva@redhat.com>
522
523 PR debug/47106
524 PR debug/47402
525 * tree-flow.h (referenced_var_lookup): Add fn parameter.
526 Adjust all callers.
527 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
528 * tree-flow-inline.h: Adjust.
529 * gimple-pretty-print.c: Adjust.
530 * tree-into-ssa.c: Adjust.
531 * tree-ssa.c: Adjust.
532 * cfgexpand.c: Adjust.
533
534 2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
535
536 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
537 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
538 (EXTRA_CONSTRAINT): Delete.
539 * config/iq2000/constraints.md: New file.
540 * config/iq2000/iq2000.md: Include it.
541 (define_insn ""): Delete.
542 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
543 unsupported constraint letters from patterns.
544 (call_value, call_value_internal1): Likewise.
545 (call_value_multiple_internal1): Likewise.
546
547 2011-02-15 Nick Clifton <nickc@redhat.com>
548
549 * config/mn10300/mn10300.c: Include tm-constrs.h.
550 (struct liw_data): New data structure describing an LIW candidate
551 instruction.
552 (extract_bundle): Use struct liw_data. Allow small integer
553 operands for some instructions.
554 (check_liw_constraints): Use struct liw_data. Remove swapped
555 parameter. Add comments describing the checks. Fix bug when
556 assigning the source of liw1 to the source of liw2.
557 (liw_candidate): Delete. Code moved into extract_bundle.
558 (mn10300_bundle_liw): Use struct liw_data. Check constraints
559 before swapping.
560 * config/mn10300/predicates.md (liw_operand): New predicate.
561 Allows registers and small integer constants.
562 * config/mn10300/constraints.md (O): New constraint. Accetps
563 integers in the range -8 to +7 inclusive.
564 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
565 for moving a small integer into a register. Give this alternative
566 LIW attributes.
567 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
568 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
569 using the J,K,L and M constraints,
570 (liw): Remove SI mode on second operands to allow for HI and QI
571 mode values.
572 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
573 instruction.
574
575 2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
576
577 PR middle-end/47725
578 * combine.c (cant_combine_insn_p): Check zero/sign extended
579 hard registers.
580
581 2011-02-15 Richard Guenther <rguenther@suse.de>
582
583 PR tree-optimization/47743
584 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
585 for a non-type-compatible VN lookup bail out.
586
587 2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
588
589 * config/fr30/constraints.md: New file.
590 * config/fr30/fr30.md: Include it.
591 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
592 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
593 (EXTRA_CONSTRAINT): Delete.
594
595 2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
596
597 * config/frv/constraints.md: New file.
598 * config/frv/predicates.md: Include it.
599 * config/frv/frv.c (reg_class_from_letter): Delete.
600 (frv_option_override): Don't initialize it.
601 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
602 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
603 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
604 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
605 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
606 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
607 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
608 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
609 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
610 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
611 (REG_CLASS_FROM_CONSTRAINT): Delete.
612
613 2011-02-15 Jakub Jelinek <jakub@redhat.com>
614
615 PR middle-end/47581
616 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
617 if frame size is 0 in a leaf function.
618
619 2011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
620
621 PR pch/14940
622 * config/alpha/host-osf.c: New file.
623 * config/alpha/x-osf: New file.
624 * config.host (alpha*-dec-osf*): Use it.
625
626 2011-02-14 Anatoly Sokolov <aesok@post.ru>
627
628 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
629 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
630 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
631 (rx_mode_dependent_address_p): ...this. Make static. Change argument
632 type to const_rtx.
633 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
634
635 2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
636
637 * config/stormy16/constraints.md: New file.
638 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
639 Use satisfies_constraint_Q and satisfies_constraint_R.
640 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
641 Delete.
642 (xstormy16_legitiamte_address_p): Declare.
643 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
644 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
645 (EXTRA_CONSTRAINT): Delete.
646 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
647 Un-staticize.
648 (xstormy16_extra_constraint_p): Delete.
649
650 2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
651
652 PR tree-optimization/46494
653 * loop-unroll.c (split_edge_and_insert): Adjust comment.
654 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
655 (pass_rtl_loop_done): Add TODO_verify_flow.
656 * fwprop.c (pass_rtl_fwprop): Likewise.
657 * modulo-sched.c (pass_sms): Likewise.
658 * tree-ssa-dom.c (pass_dominator): Likewise.
659 * tree-ssa-loop-ch.c (pass_ch): Likewise.
660 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
661 (pass_tree_loop_done): Likewise.
662 * tree-ssa-pre.c (execute_pre): Likewise.
663 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
664 * tree-ssa-sink.c (pass_sink_code): Likewise.
665 * tree-vrp.c (pass_vrp): Likewise.
666
667 2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
668
669 * config/v850/constraints.md: New file.
670 * config/v850/v850.md: Include it.
671 * config/v850/predicates.md (reg_or_0_operand): Use
672 satisfies_constraint_G.
673 (special_symbolref_operand): Use satisfies_constraint_K.
674 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
675 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
676 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
677 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
678 (EXTRA_CONSTRAINT): Delete.
679 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
680 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
681 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
682
683 2011-02-14 Anatoly Sokolov <aesok@post.ru>
684
685 PR target/47696
686 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
687 description.
688
689 2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
690
691 * config/mcore/constraints.md: New file.
692 * config/mcore/mcore.md: Include it.
693 * config/mcore/mcore.c (reg_class_from_letter): Delete.
694 * config/mcore/mcore.h (reg_class_from_letter): Delete.
695 (REG_CLASS_FROM_LETTER): Delete.
696 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
697 insn_const_int_ok_for_constraint.
698 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
699 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
700 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
701 (EXTRA_CONSTRAINT): Delete.
702
703 2011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
704
705 PR ada/41929
706 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
707 (IS_SIGHANDLER): Define.
708 (sparc64_is_sighandler): New function, split off from
709 sparc64_fallback_frame_state.
710 (sparc_is_sighandler): New function, split off from
711 sparc_fallback_frame_state.
712 (sparc64_fallback_frame_state): Merge with ...
713 (sparc_fallback_frame_state): ... this into ...
714 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
715 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
716 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
717 stack instead of hardcoded offsets.
718
719 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
720
721 * go/gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
722
723 2011-02-14 Andriy Gapon <avg@freebsd.org>
724
725 PR target/45808
726 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
727
728 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
729
730 * configure: Regenerate.
731
732 2011-02-12 Joseph Myers <joseph@codesourcery.com>
733
734 PR driver/45731
735 * gcc.c (asm_options): Correct spec matching --target-help.
736
737 2011-02-12 Martin Jambor <mjambor@suse.cz>
738
739 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
740 to gimple call error.
741
742 2011-02-12 Mike Stump <mikestump@comcast.net>
743
744 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
745 comments in backslash regions.
746
747 2011-02-12 Mike Stump <mikestump@comcast.net>
748 Jakub Jelinek <jakub@redhat.com>
749 Iain Sandoe <iains@gcc.gnu.org>
750
751 PR target/47324
752 * dwarf2out.c (output_cfa_loc): When required, apply the
753 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
754 (output_loc_sequence): Likewise.
755 (output_loc_operands_raw): Likewise.
756 (output_loc_sequence_raw): Likewise.
757 (output_cfa_loc): Likewise.
758 (output_loc_list): Suppress register number adjustment when
759 calling output_loc_sequence()
760 (output_die): Likewise.
761
762 2011-02-12 Anatoly Sokolov <aesok@post.ru>
763
764 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
765 Remove macros.
766 * config/xtensa/xtensa.c (xtensa_register_move_cost,
767 xtensa_memory_move_cost): New functions.
768 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
769
770 2011-02-12 Alexandre Oliva <aoliva@redhat.com>
771
772 PR lto/47225
773 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
774 in the current directory.
775 * configure: Rebuilt.
776
777 2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
778
779 * config/darwin.c (darwin_override_options): Add a hunk missed
780 from the commit of r168571. Trim comment line lengths and
781 correct indents of the preceding block.
782
783 2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
784
785 * gcc.c (driver_handle_option): Concatenate the argument to -F with
786 the switch.
787
788 2011-02-11 Joseph Myers <joseph@codesourcery.com>
789
790 * common.opt (nostartfiles): New Driver option.
791
792 2011-02-11 Xinliang David Li <davidxl@google.com>
793
794 PR tree-optimization/47707
795 * tree-chrec.c (convert_affine_scev): Keep type precision.
796
797 2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
798
799 PR tree-optimization/47420
800 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
801
802 2011-02-11 Pat Haugen <pthaugen@us.ibm.com>
803
804 PR rtl-optimization/47614
805 * rtl.h (check_for_inc_dec): Declare.
806 * dse.c (check_for_inc_dec): Externalize...
807 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
808 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
809
810 2011-02-11 Joseph Myers <joseph@codesourcery.com>
811
812 PR driver/47678
813 * gcc.c (main): Do not compile inputs if there were errors in
814 option handling.
815 * opts-common.c (read_cmdline_option): Check for wrong language
816 after other error checks.
817
818 2011-02-11 Nathan Froyd <froydnj@codesourcery.com>
819
820 * cgraph.c: Fix comment typos.
821 * cgraph.h: Likewise.
822 * cgraphunit.c: Likewise.
823 * ipa-cp.c: Likewise.
824 * ipa-inline.c: Likewise.
825 * ipa-prop.c: Likewise.
826 * ipa-pure-const.c: Likewise.
827 * ipa-ref.c: Likewise.
828 * ipa-reference.c: Likewise.
829
830 2011-02-11 Jakub Jelinek <jakub@redhat.com>
831
832 PR debug/47684
833 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
834
835 2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
836
837 PR testsuite/47400
838 * doc/sourcebuild.texi (Require Support): Document
839 dg-require-ascii-locale.
840
841 2011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
842
843 * doc/lto.texi (Write summary): Fix missing parentheses.
844
845 2011-02-10 DJ Delorie <dj@redhat.com>
846
847 * config/m32c/m32c.c (m32c_option_override): Disable
848 -fcombine-stack-adjustments until flag value tracking and compare
849 optimization can be rewritten.
850
851 2011-02-10 Peter Bergner <bergner@vnet.ibm.com>
852
853 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
854 PROCESSOR_POWER7.
855 (PROCESSOR_DEFAULT64): Likewise.
856
857 2011-02-10 Richard Henderson <rth@redhat.com>
858
859 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
860 change from 2011-02-03.
861 * config/rx/rx.c (flags_from_code): Likewise.
862 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
863 is valid, n/pz otherwise.
864 (rx_select_cc_mode): Return CCmode if Y is not zero.
865
866 2011-02-10 Richard Guenther <rguenther@suse.de>
867
868 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
869
870 2011-02-10 Richard Guenther <rguenther@suse.de>
871
872 PR tree-optimization/47677
873 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
874
875 2011-02-10 Jakub Jelinek <jakub@redhat.com>
876
877 PR target/47665
878 * combine.c (make_compound_operation): Only change shifts into
879 multiplication for SCALAR_INT_MODE_P.
880
881 2011-02-10 Jie Zhang <jie@codesourcery.com>
882
883 PR testsuite/47622
884 Revert
885 2011-02-05 Jie Zhang <jie@codesourcery.com>
886 PR debug/42631
887 * web.c (entry_register): Don't clobber the number of the
888 first uninitialized reference in used[].
889
890 2011-02-09 Richard Guenther <rguenther@suse.de>
891
892 PR tree-optimization/47664
893 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
894 all edges again.
895
896 2011-02-09 David Edelsohn <dje.gcc@gmail.com>
897
898 PR target/46481
899 PR target/47032
900 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
901 PROCESSOR_POWER7.
902 (PROCESSOR_DEFAULT64): Same.
903 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
904
905 2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
906
907 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
908
909 2011-02-09 Martin Jambor <mjambor@suse.cz>
910
911 PR middle-end/45505
912 * tree-sra.c (struct access): New flags grp_scalar_read and
913 grp_scalar_write. Changed description of assignment read and write
914 flags.
915 (dump_access): Dump new flags, reorder all of them.
916 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
917 to detect multiple scalar reads.
918 (analyze_access_subtree): Use the new scalar read write flags instead
919 of the old flags. Adjusted comments.
920
921 2011-02-08 DJ Delorie <dj@redhat.com>
922
923 PR target/47548
924 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
925 patterns.
926
927 2011-02-08 Joseph Myers <joseph@codesourcery.com>
928
929 * config/m68k/uclinux.opt: New.
930 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
931
932 2011-02-08 Joseph Myers <joseph@codesourcery.com>
933
934 * config/cris/elf.opt (sim): New Driver option.
935
936 2011-02-08 Joseph Myers <joseph@codesourcery.com>
937
938 * config/xtensa/elf.opt: New.
939 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
940
941 2011-02-08 Joseph Myers <joseph@codesourcery.com>
942
943 * config/vax/elf.opt: New.
944 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
945
946 2011-02-08 Joseph Myers <joseph@codesourcery.com>
947
948 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
949
950 2011-02-08 Joseph Myers <joseph@codesourcery.com>
951
952 * config/gnu-user.opt: New.
953 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
954 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
955 *-*-uclinux*): Use gnu-user.opt.
956
957 2011-02-08 Thomas Schwinge <thomas@schwinge.name>
958
959 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
960 * config/i386/gnu.h (CPP_SPEC): Likewise.
961
962 2011-02-08 Ian Lance Taylor <iant@google.com>
963
964 * common.opt (fcx-limited-range): Add SetByCombined flag.
965 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
966 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
967 (fassociative-math, freciprocal-math): Likewise.
968 (funsafe-math-optimizations): Likewise.
969 * opth-gen.awk: Handle SetByCombined.
970 * optc-gen.awk: Likewise.
971 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
972 (set_unsafe_math_optimizations_flags): Likewise.
973 * doc/options.texi (Option properties): Document SetByCombined.
974
975 2011-02-08 Joseph Myers <joseph@codesourcery.com>
976
977 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
978 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
979 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
980 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
981 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
982
983 2011-02-08 Sebastian Pop <sebastian.pop@amd.com>
984
985 PR tree-optimization/46834
986 PR tree-optimization/46994
987 PR tree-optimization/46995
988 * graphite-sese-to-poly.c (used_outside_reduction): New.
989 (detect_commutative_reduction): Call used_outside_reduction.
990 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
991 translate_scalar_reduction_to_array only when at least one
992 loop-phi/close-phi tuple has been detected.
993
994 2011-02-08 Richard Guenther <rguenther@suse.de>
995
996 PR middle-end/47639
997 * tree-vect-generic.c (expand_vector_operations_1): Update
998 stmts here ...
999 (expand_vector_operations): ... not here. Cleanup EH info
1000 and the CFG if required.
1001
1002 2011-02-08 Richard Guenther <rguenther@suse.de>
1003
1004 PR tree-optimization/47641
1005 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
1006 require type compatibility.
1007
1008 2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1009
1010 * gimple-low.c (lower_function_body): Don't remove the location of
1011 the return statement here.
1012 (lower_gimple_return): Do it here instead but only if the return
1013 statement is actually used twice.
1014
1015 2011-02-08 Richard Guenther <rguenther@suse.de>
1016
1017 PR tree-optimization/47632
1018 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1019 unused up_to_stmt parameter, return whether cfg-cleanup is
1020 necessary, remove EH info properly.
1021 (forward_propagate_into_gimple_cond): Adjust caller.
1022 (forward_propagate_into_cond): Likewise.
1023 (forward_propagate_comparison): Likewise.
1024 (tree_ssa_forward_propagate_single_use_vars): Make
1025 forward_propagate_comparison case similar to the two others.
1026
1027 2011-02-08 Nick Clifton <nickc@redhat.com>
1028
1029 * config/mn10300/mn10300.opt (mliw): New command line option.
1030 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1031 (liw_bundling): New automaton.
1032 (liw): New attribute.
1033 (liw_op): New attribute.
1034 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1035 (movsi_internal): Add LIW attributes.
1036 (andsi3): Likewise.
1037 (iorsi3): Likewise.
1038 (xorsi3): Likewise.
1039 (addsi3): Separate register and immediate alternatives.
1040 Add LIW attributes.
1041 (subsi3): Likewise.
1042 (cmpsi): Likewise.
1043 (aslsi3): Likewise.
1044 (lshrsi3): Likewise.
1045 (ashrsi3): Likewise.
1046 (liw): New pattern.
1047 * config/mn10300/mn10300.c (liw_op_names): New
1048 (mn10300_print_operand): Handle 'W' operand descriptor.
1049 (extract_bundle): New function.
1050 (check_liw_constraints): New function.
1051 (liw_candidate): New function.
1052 (mn10300_bundle_liw): New function.
1053 (mn10300_reorg): New function.
1054 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1055 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1056 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1057 __LIW__ or __NO_LIW__.
1058 * doc/invoke.texi: Describe the -mliw command line option.
1059
1060 2011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1061
1062 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1063 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1064 pthread_mutex_unlock): Remove.
1065 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1066 * config/pa/t-pa64: Likewise.
1067 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1068 shared libc if not linking against libpthread.
1069 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1070
1071 2011-02-07 Iain Sandoe <iains@gcc.gnu.org>
1072
1073 PR target/47558
1074 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
1075 on 10.6 and later to ensure that we always use the unwinder from
1076 the system. Only add -no_compact_unwind when tarteting darwin
1077 10.6 or later.
1078
1079 2011-02-07 Steve Ellcey <sje@cup.hp.com>
1080
1081 PR target/46997
1082 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
1083 (vec_interleave_lowv2sf): Ditto.
1084 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
1085 (vec_extract_oddv2sf): Ditto.
1086
1087 2011-02-07 Mike Stump <mikestump@comcast.net>
1088
1089 PR target/42333
1090 Add __ieee_divdc3 entry point.
1091 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
1092 entry point.
1093 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
1094 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
1095 * config/darwin.c (darwin_rename_builtins): Add.
1096 * config/darwin-protos.h (darwin_rename_builtins): Add.
1097
1098 2011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
1099
1100 PR target/47636
1101 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
1102 for the condition.
1103
1104 2011-02-07 Mike Stump <mikestump@comcast.net>
1105
1106 * config/darwin.opt (mmacosx-version-min): Update default OS version.
1107
1108 2011-02-07 Denis Chertykov <chertykov@gmail.com>
1109
1110 PR target/47534
1111 * config/avr/libgcc.S (exit): Move .endfunc
1112
1113 2011-02-07 Richard Guenther <rguenther@suse.de>
1114
1115 PR tree-optimization/47615
1116 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
1117 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
1118 (run_scc_vn): Initialize it.
1119 (visit_reference_op_load): Use it.
1120 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
1121
1122 2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1123
1124 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
1125 DImode trapping arithmetic libfuncs.
1126
1127 2011-02-07 Richard Guenther <rguenther@suse.de>
1128
1129 PR tree-optimization/47621
1130 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
1131 two duplicates ...
1132 (execute_update_addresses_taken): ... here. Make it more
1133 conservative in what we accept.
1134
1135 2011-02-06 Joseph Myers <joseph@codesourcery.com>
1136
1137 * config/sparc/freebsd.h (ASM_SPEC): Define.
1138 * config/sparc/vxworks.h (ASM_SPEC): Define.
1139
1140 2011-02-06 Joseph Myers <joseph@codesourcery.com>
1141
1142 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
1143
1144 2011-02-06 Steven Bosscher <steven@gcc.gnu.org>
1145
1146 * doc/invoke.texi: Remove reference to compiler internals from
1147 user documentation.
1148
1149 * reg-notes.def: Remove REG_VALUE_PROFILE.
1150 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
1151
1152 2011-02-05 Jakub Jelinek <jakub@redhat.com>
1153
1154 PR middle-end/47610
1155 * varasm.c (default_section_type_flags): If decl is NULL,
1156 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
1157
1158 2011-02-05 Jie Zhang <jie@codesourcery.com>
1159
1160 PR debug/42631
1161 * web.c (entry_register): Don't clobber the number of the
1162 first uninitialized reference in used[].
1163
1164 2011-02-04 Sebastian Pop <sebastian.pop@amd.com>
1165
1166 PR tree-optimization/46194
1167 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
1168 (build_classic_dist_vector_1): Do not represent classic distance
1169 vectors when the access functions are variating in different loops.
1170
1171 2011-02-04 Joseph Myers <joseph@codesourcery.com>
1172
1173 * config/mips/iris6.opt: New.
1174 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
1175
1176 2011-02-04 Richard Henderson <rth@redhat.com>
1177 Steve Ellcey <sje@cup.hp.com>
1178
1179 PR target/46997
1180 * config/ia64/predicates.md (mux1_brcst_element): New.
1181 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
1182 * config/ia64/ia64.c (ia64_unpack_assemble): New.
1183 (ia64_unpack_sign): New.
1184 (ia64_expand_unpack): Rewrite using new routines.
1185 (ia64_expand_widen_sum): Ditto.
1186 (ia64_expand_dot_prod_v8qi): Ditto.
1187 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
1188 routines, add endian check.
1189 (pmpy2_even): Rename from pmpy2_r, add endian check.
1190 (pmpy2_odd): Rename from pmpy2_l, add endian check.
1191 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
1192 (vec_widen_smult_hi_v4hi): Ditto.
1193 (vec_widen_umult_lo_v4hi): Ditto.
1194 (vec_widen_umult_hi_v4hi): Ditto.
1195 (mulv2si3): Change endian checks.
1196 (sdot_prodv4hi): Rewrite with new calls.
1197 (udot_prodv4hi): New.
1198 (vec_pack_ssat_v4hi): Add endian check.
1199 (vec_pack_usat_v4hi): Ditto.
1200 (vec_pack_ssat_v2si): Ditto.
1201 (max1_even): Rename from max1_r, add endian check.
1202 (max1_odd): Rename from max1_l, add endian check.
1203 (*mux1_rev): Format change.
1204 (*mux1_mix): Ditto.
1205 (*mux1_shuf): Ditto.
1206 (*mux1_alt): Ditto.
1207 (*mux1_brcst_v8qi): Use new predicate.
1208 (vec_extract_evenv8qi): Remove endian check.
1209 (vec_extract_oddv8qi): Ditto.
1210 (vec_interleave_lowv4hi): Format change.
1211 (vec_interleave_highv4hi): Ditto.
1212 (mix2_even): Rename from mix2_r, add endian check.
1213 (mix2_odd): Rename from mux2_l, add endian check.
1214 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
1215 (vec_extract_evenodd_helper): Format change.
1216 (vec_extract_evenv4hi): Remove endian check.
1217 (vec_extract_oddv4hi): Remove endian check.
1218 (vec_interleave_lowv2si): Format change.
1219 (vec_interleave_highv2si): Format change.
1220 (vec_initv2si): Remove endian check.
1221 (vecinit_v2si): Add endian check.
1222 (reduc_splus_v2sf): Add endian check.
1223 (reduc_smax_v2sf): Ditto.
1224 (reduc_smin_v2sf): Ditto.
1225 (vec_initv2sf): Remove endian check.
1226 (fpack): Add endian check.
1227 (fswap): Add endian check.
1228 (vec_interleave_highv2sf): Add endian check.
1229 (vec_interleave_lowv2sf): Add endian check.
1230 (fmix_lr): Add endian check.
1231 (vec_setv2sf): Format change.
1232 (*vec_extractv2sf_0_be): Use shift to extract operand.
1233 (*vec_extractv2sf_1_be): New.
1234 (vec_pack_trunc_v4hi): Add endian check.
1235 (vec_pack_trunc_v2si): Format change.
1236
1237 2011-02-04 Jakub Jelinek <jakub@redhat.com>
1238
1239 PR inline-asm/23200
1240 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
1241 do bb, locus and block comparison and disallow loads if it is not set.
1242 (stmt_is_replaceable_p): New function.
1243 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
1244 callers.
1245 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
1246 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
1247 SSA_NAME_DEF_STMT.
1248 * tree-flow.h (stmt_is_replaceable_p): New prototype.
1249
1250 2011-02-04 Joseph Myers <joseph@codesourcery.com>
1251
1252 * config/rs6000/xilinx.opt: New.
1253 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
1254
1255 2011-02-04 Joseph Myers <joseph@codesourcery.com>
1256
1257 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
1258
1259 2011-02-03 Anatoly Sokolov <aesok@post.ru>
1260
1261 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
1262 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1263 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
1264 secondary_reload_info, xtensa_secondary_reload): Remove.
1265 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
1266 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1267 (xtensa_preferred_reload_class): Make static. Change return and
1268 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
1269 Use CONST_DOUBLE_P predicate.
1270 (xtensa_preferred_output_reload_class): New function.
1271 (xtensa_secondary_reload): Make static.
1272
1273 2011-02-03 Joseph Myers <joseph@codesourcery.com>
1274
1275 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
1276 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
1277 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
1278
1279 2011-02-03 Jakub Jelinek <jakub@redhat.com>
1280
1281 PR middle-end/31490
1282 * output.h (SECTION_RELRO): Define.
1283 (SECTION_MACH_DEP): Adjust.
1284 (get_variable_section): New prototype.
1285 * varpool.c (varpool_finalize_named_section_flags): New function.
1286 (varpool_assemble_pending_decls): Call it.
1287 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
1288 * cgraphunit.c (cgraph_output_in_order): Call
1289 varpool_finalize_named_section_flags.
1290 * varasm.c (get_section): Allow section flags conflicts between
1291 relro and read-only sections if the section hasn't been declared yet.
1292 Set SECTION_OVERRIDE after diagnosing section type conflict.
1293 (get_variable_section): No longer static.
1294 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
1295 readonly sections that need relocations.
1296 (decl_readonly_section_1): New function.
1297 (decl_readonly_section): Use it.
1298
1299 Revert:
1300 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
1301 Steve Ellcey <sje@cup.hp.com>
1302
1303 PR middle-end/31490
1304 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
1305 if section attribute used.
1306
1307 2011-02-03 Jakub Jelinek <jakub@redhat.com>
1308
1309 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
1310 * config/darwin.c (SECTION_NO_ANCHOR): Define.
1311 (darwin_init_sections): Remove assertion.
1312
1313 2011-02-03 Nick Clifton <nickc@redhat.com>
1314
1315 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
1316 lt and ge.
1317 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
1318 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
1319 instead of "n" and "pz".
1320 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
1321 CC_FLAG_S.
1322
1323 2011-02-03 Jakub Jelinek <jakub@redhat.com>
1324
1325 PR target/47312
1326 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
1327 fma, expand FMA_EXPR as fma{,f,l} call.
1328
1329 PR lto/47274
1330 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
1331 copy them into a unsigned char variable and pass address of it to
1332 lto_output_data_stream.
1333
1334 PR target/47564
1335 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
1336 around backend_init_target and lang_dependent_init_target calls.
1337 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
1338 (verify_cgraph_node): Don't call set_cfun here. Use
1339 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
1340 Set error_found for incorrectly represented calls to thunks.
1341
1342 2011-02-03 Alexandre Oliva <aoliva@redhat.com>
1343
1344 PR debug/43092
1345 PR rtl-optimization/43494
1346 * rtl.h (for_each_inc_dec_fn): New type.
1347 (for_each_inc_dec): Declare.
1348 * rtlanal.c (struct for_each_inc_dec_ops): New type.
1349 (for_each_inc_dec_find_inc_dec): New fn.
1350 (for_each_inc_dec_find_mem): New fn.
1351 (for_each_inc_dec): New fn.
1352 * dse.c (struct insn_size): Remove.
1353 (replace_inc_dec, replace_inc_dec_mem): Remove.
1354 (emit_inc_dec_insn_before): New fn.
1355 (check_for_inc_dec): Use it, along with for_each_inc_dec.
1356 (canon_address): Pass mem modes to cselib_lookup.
1357 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
1358 (cselib_lookup_from_insn): Likewise.
1359 (cselib_subst_to_values): Likewise.
1360 * cselib.c (find_slot_memmode): New var.
1361 (cselib_find_slot): New fn. Use it instead of
1362 htab_find_slot_with_hash everywhere.
1363 (entry_and_rtx_equal_p): Use find_slot_memmode.
1364 (autoinc_split): New fn.
1365 (rtx_equal_for_cselib_p): Rename and implement in terms of...
1366 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
1367 Deal with autoinc. Special-case recursion into MEMs.
1368 (cselib_hash_rtx): Likewise.
1369 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
1370 address and MEM modes.
1371 (cselib_subst_to_values): Add memmode, pass it on.
1372 Deal with autoinc.
1373 (cselib_lookup): Add memmode argument, pass it on.
1374 (cselib_lookup_from_insn): Add memmode.
1375 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
1376 (struct cselib_record_autoinc_data): New.
1377 (cselib_record_autoinc_cb): New fn.
1378 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
1379 mode to cselib_lookup. Reset autoinced REGs here instead of...
1380 (cselib_process_insn): ... here.
1381 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
1382 to cselib_lookup.
1383 (add_uses): Likewise, also to cselib_subst_to_values.
1384 (add_stores): Likewise.
1385 * sched-deps.c (add_insn_mem_dependence): Pass mode to
1386 cselib_subst_to_values.
1387 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
1388 * gcse.c (do_local_cprop): Adjusted.
1389 * postreload.c (reload_cse_simplify_set): Adjusted.
1390 (reload_cse_simplify_operands): Adjusted.
1391 * sel-sched-dump (debug_mem_addr_value): Pass mode.
1392
1393 2011-02-03 Alexandre Oliva <aoliva@redhat.com>
1394
1395 PR tree-optimization/45122
1396 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
1397 unsafe assumptions when there's more than one loop exit.
1398
1399 2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
1400
1401 PR target/47272
1402 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
1403 Document using vector double with the load/store builtins, and
1404 that the load/store builtins always use Altivec instructions.
1405
1406 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
1407 to use altivec memory instructions, even on VSX.
1408 (vector_altivec_store_<mode>): Ditto.
1409
1410 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
1411 function.
1412
1413 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1414 V2DF, V2DI support to load/store overloaded builtins.
1415
1416 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
1417 altivec load/store builtins for V2DF/V2DI types.
1418
1419 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
1420 set avoid indexed addresses on power6 if -maltivec.
1421 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
1422 vector_altivec_load/vector_altivec_store builtins.
1423 (altivec_expand_st_builtin): Ditto.
1424 (altivec_expand_builtin): Add VSX memory builtins.
1425 (rs6000_init_builtins): Add V2DI types to internal types.
1426 (altivec_init_builtins): Add support for V2DF/V2DI altivec
1427 load/store builtins.
1428 (rs6000_address_for_altivec): Insure memory address is appropriate
1429 for Altivec.
1430
1431 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
1432 vec_vsx_ld and vec_vsx_st.
1433 (vsx_store_<mode>): Ditto.
1434
1435 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
1436 variables to hold long long types for VSX vector memory builtins.
1437 (RS6000_BTI_unsigned_long_long): Ditto.
1438 (long_long_integer_type_internal_node): Ditti.
1439 (long_long_unsigned_type_internal_node): Ditti.
1440
1441 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
1442 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
1443 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
1444
1445 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
1446 short cuts.
1447 (vec_vsx_st): Ditto.
1448
1449 2011-02-02 Joseph Myers <joseph@codesourcery.com>
1450
1451 * config/pa/pa-hpux10.opt: New.
1452 * config/hpux11.opt (pthread): New Driver option.
1453 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
1454 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
1455
1456 2011-02-02 Joseph Myers <joseph@codesourcery.com>
1457
1458 * config/ia64/vms.opt: New.
1459 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
1460
1461 2011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
1462
1463 PR target/47580
1464 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
1465 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
1466 generator functions.
1467 (vsx_floatuns<VSi><mode>2): Ditto.
1468 (vsx_fix_trunc<mode><VSi>2): Ditto.
1469 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
1470
1471 2011-02-02 Joseph Myers <joseph@codesourcery.com>
1472
1473 * config/i386/djgpp.opt (posix): New Driver option.
1474
1475 2011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1476
1477 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
1478 Move to the unsupported targets list.
1479
1480 2011-02-02 Peter Bergner <bergner@vnet.ibm.com>
1481
1482 PR rtl-optimization/47525
1483 * df-scan.c: Update copyright years.
1484 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
1485 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
1486
1487 2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1488
1489 * config/i386/sysv4.h (TARGET_VERSION): Remove.
1490 (SUBTARGET_RETURN_IN_MEMORY): Remove.
1491 (ASM_OUTPUT_ASCII): Remove.
1492 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
1493
1494 2011-02-02 Jeff Law <law@redhat.com>
1495
1496 PR middle-end/47543
1497 * reload.c (find_reloads_address): Handle reg+d address where both
1498 components are invalid by reloading the entire address.
1499
1500 2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
1501 Richard Guenther <rguenther@suse.de>
1502
1503 PR tree-optimization/40979
1504 PR bootstrap/47044
1505 * passes.c (init_optimization_passes): After LIM call copy_prop
1506 and DCE to clean up.
1507 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
1508
1509 2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
1510
1511 PR tree-optimization/47576
1512 PR tree-optimization/47555
1513 * doc/invoke.texi (scev-max-expr-complexity): Documented.
1514 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1515 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
1516 * tree-scalar-evolution.c (follow_ssa_edge): Use
1517 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
1518
1519 2011-02-02 Richard Guenther <rguenther@suse.de>
1520
1521 PR tree-optimization/47566
1522 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
1523
1524 2011-02-02 Alexandre Oliva <aoliva@redhat.com>
1525
1526 PR debug/47106
1527 PR debug/47402
1528 * tree-inline.c (declare_return_variable): Remove unused caller
1529 variable.
1530
1531 PR debug/47106
1532 PR debug/47402
1533 * tree-flow-inline.h (clear_is_used, is_used_p): New.
1534 * cfgexpand.c (account_used_vars_for_block): Use them.
1535 * tree-nrv.c (tree_nrv): Likewise.
1536 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
1537 (dump_scope_block): Likewise.
1538 (remove_unused_locals): Likewise.
1539
1540 PR debug/47106
1541 PR debug/47402
1542 * tree-inline.c (declare_return_variable): Add result decl to
1543 local decls only once.
1544 * gimple-low.c (record_vars_into): Mark newly-created variables
1545 as referenced.
1546
1547 2011-02-02 Alexandre Oliva <aoliva@redhat.com>
1548
1549 PR debug/47498
1550 PR debug/47501
1551 PR debug/45136
1552 PR debug/45130
1553 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1554 debug insns.
1555 (no_real_insns_p, schedule_block, set_priorities): Drop special
1556 treatment of boundary debug insns.
1557 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1558 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
1559 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1560 (BOUNDARY_DEBUG_INSN_P): Likewise.
1561 (SCHEDULE_DEBUG_INSN_P): Likewise.
1562 * sched-rgn.c (init_ready_list): Drop special treatment of
1563 boundary debug insns.
1564 * final.c (rest_of_clean_state): Clear notes' BB.
1565
1566 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1567
1568 * config/openbsd.opt (assert=): New Driver option.
1569
1570 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1571
1572 * config/i386/nto.opt: New.
1573 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
1574
1575 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1576
1577 * config/i386/netware.opt: New.
1578 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
1579
1580 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1581
1582 * config/interix.opt (posix): New Driver option.
1583
1584 2011-02-01 DJ Delorie <dj@redhat.com>
1585
1586 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
1587
1588 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
1589 class for A0/A1.
1590
1591 2011-02-01 Sebastian Pop <sebastian.pop@amd.com>
1592
1593 PR tree-optimization/47561
1594 * toplev.c (process_options): Print the Graphite flags. Add
1595 flag_loop_flatten to the list of options requiring Graphite.
1596
1597 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1598
1599 * config/i386/cygming.opt (posix): New Driver option.
1600
1601 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1602
1603 * config/arm/vxworks.opt: New.
1604 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
1605
1606 2011-02-01 Joseph Myers <joseph@codesourcery.com>
1607
1608 * config/alpha/elf.opt: New.
1609 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
1610 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
1611
1612 2011-02-01 Richard Guenther <rguenther@suse.de>
1613
1614 PR tree-optimization/47559
1615 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
1616 store-motion on references that can throw.
1617
1618 2011-02-01 Bernd Schmidt <bernds@codesourcery.com>
1619
1620 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
1621 * tree-pass.h (TDF_CSELIB): New macro.
1622 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
1623 cselib_lookup): Check for it rather than for TDF_DETAILS.
1624
1625 2011-02-01 H.J. Lu <hongjiu.lu@intel.com>
1626
1627 PR driver/47547
1628 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
1629 is HOST_BIT_BUCKET.
1630
1631 * opts.c (finish_options): Don't add x_aux_base_name if it is
1632 HOST_BIT_BUCKET.
1633
1634 2011-02-01 Richard Guenther <rguenther@suse.de>
1635
1636 PR tree-optimization/47555
1637 Revert
1638 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
1639
1640 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
1641
1642 2011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
1643
1644 PR gcc/46692
1645 * config/lm32/t-lm32: Add multilib for all CPU options.
1646
1647 2011-02-01 Richard Guenther <rguenther@suse.de>
1648
1649 PR tree-optimization/47541
1650 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
1651 sure to have a field at offset zero.
1652
1653 2011-01-31 Joseph Myers <joseph@codesourcery.com>
1654
1655 * config/arc/arc.opt (EB, EL): New Driver options.
1656
1657 2011-01-31 Joseph Myers <joseph@codesourcery.com>
1658
1659 * config/alpha/osf5.opt: New.
1660 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
1661
1662 2011-01-31 Joseph Myers <joseph@codesourcery.com>
1663
1664 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
1665
1666 2011-01-31 Sebastian Pop <sebastian.pop@amd.com>
1667
1668 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
1669 -floop-interchange.
1670 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
1671 is an alias of -floop-interchange and that it requires the
1672 Graphite infrastructure.
1673 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
1674 flag_loop_interchange based on the value of flag_tree_loop_linear.
1675
1676 2011-01-31 Jakub Jelinek <jakub@redhat.com>
1677 Richard Guenther <rguenther@suse.de>
1678
1679 PR tree-optimization/47538
1680 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
1681 type instead of r1type, except for comparisons. For right
1682 shifts and comparisons punt if there are mismatches in
1683 sizetype vs. non-sizetype types.
1684
1685 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1686
1687 * doc/sourcebuild.texi (Effective-Target Keywords): Document
1688 avx_runtime.
1689
1690 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1691
1692 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
1693 version number.
1694 * configure: Regenerate.
1695
1696 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1697
1698 * configure.ac (gcc_cv_ld_static_option): Define.
1699 (gcc_cv_ld_dynamic_option): Define.
1700 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
1701 instead.
1702 (HAVE_LD_STATIC_DYNAMIC): Update message.
1703 (LD_STATIC_OPTION): Define.
1704 (LD_DYNAMIC_OPTION): Define.
1705 * configure: Regenerate.
1706 * config.in: Regenerate.
1707 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
1708 HAVE_LD_STATIC_DYNAMIC]: Use them.
1709
1710 2011-01-31 Nick Clifton <nickc@redhat.com>
1711
1712 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
1713 registers inside interrupt handlers if the handler is not a leaf
1714 function.
1715
1716 2011-01-31 Nick Clifton <nickc@redhat.com>
1717
1718 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
1719 reg_renumber returning an INVALID_REGNUM.
1720
1721 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
1722
1723 PR libgcj/44341
1724 * doc/install.texi: Document host options discarded when cross
1725 configuring target libraries.
1726
1727 2011-01-31 Alexandre Oliva <aoliva@redhat.com>
1728
1729 Reverted:
1730 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
1731 PR debug/45136
1732 PR debug/45130
1733 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
1734 debug insns.
1735 (no_real_insns_p, schedule_block, set_priorities): Drop special
1736 treatment of boundary debug insns.
1737 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
1738 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
1739 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
1740 (BOUNDARY_DEBUG_INSN_P): Likewise.
1741 (SCHEDULE_DEBUG_INSN_P): Likewise.
1742 * sched-rgn.c (init_ready_list): Drop special treatment of
1743 boundary debug insns.
1744 * final.c (rest_of_clean-state): Clear notes' BB.
1745
1746 2011-01-31 Alan Modra <amodra@gmail.com>
1747
1748 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
1749 toc relative expressions as we do in print_operand_address.
1750
1751 2011-01-30 Kazu Hirata <kazu@codesourcery.com>
1752
1753 * doc/extend.texi: Follow spelling conventions.
1754 * doc/invoke.texi: Fix a typo.
1755
1756 2011-01-30 Joseph Myers <joseph@codesourcery.com>
1757
1758 * config/hpux11.opt: New.
1759 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
1760 ia64*-*-hpux*): Use hpux11.opt.
1761
1762 2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
1763
1764 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
1765 to tmake_file.
1766
1767 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1768
1769 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
1770 support sites.
1771
1772 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1773
1774 * doc/install.texi (Binaries): Remove outdated reference for
1775 Motorola 68HC11/68HC12 downloads.
1776
1777 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1778
1779 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
1780 Drepper's paper.
1781
1782 2011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1783
1784 PR bootstrap/47147
1785 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
1786 used by NetBSD.
1787
1788 2011-01-28 Ahmad Sharif <asharif@google.com>
1789
1790 * value-prof.c (check_counter): Corrected error message.
1791
1792 2011-01-29 Jie Zhang <jie@codesourcery.com>
1793
1794 * config/arm/arm.c (arm_legitimize_reload_address): New.
1795 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
1796 arm_legitimize_reload_address.
1797 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
1798
1799 2011-01-28 Ian Lance Taylor <iant@google.com>
1800
1801 * godump.c (go_define): Ignore macros whose definitions include
1802 two adjacent operands.
1803
1804 2011-01-28 Jakub Jelinek <jakub@redhat.com>
1805
1806 PR target/42894
1807 * varasm.c (force_const_mem): Store copy of x in desc->constant
1808 instead of x itself.
1809 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
1810 itself into REG_EQUAL note.
1811
1812 2011-01-28 Joseph Myers <joseph@codesourcery.com>
1813
1814 * config/freebsd.opt (posix, rdynamic): New Driver options.
1815
1816 2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1817
1818 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
1819 -Bstatic/-Bdynamic.
1820 * configure: Regenerate.
1821
1822 2011-01-27 Joseph Myers <joseph@codesourcery.com>
1823
1824 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
1825 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
1826
1827 2011-01-27 Anatoly Sokolov <aesok@post.ru>
1828
1829 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
1830 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
1831 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
1832 (s390_preferred_reload_class): Make static. Change return and
1833 'rclass' argument type to reg_class_t.
1834
1835 2011-01-27 Jan Hubicka <jh@suse.cz>
1836
1837 PR middle-end/46949
1838 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
1839 (process_function_and_variable_attributes): Check defined weakrefs.
1840
1841 2011-01-27 Martin Jambor <mjambor@suse.cz>
1842
1843 PR tree-optimization/47228
1844 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
1845 build_ref_for_offset.
1846
1847 2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1848
1849 * config/spu/spu-elf.h (ASM_SPEC): Remove.
1850
1851 2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
1852
1853 PR rtl-optimization/46856
1854 * postreload.c (reload_combine_recognize_const_pattern): Do not
1855 separate cc0 setter and user on cc0 targets.
1856
1857 2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
1858
1859 PR c/43082
1860 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
1861 passed a VOID_TYPE expression, immediately emit an error and
1862 return error_mark_node.
1863
1864 2011-01-26 Jeff Law <law@redhat.com>
1865
1866 PR rtl-optimization/47464
1867 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
1868 rather than may_trap_p as needed.
1869
1870 2011-01-26 DJ Delorie <dj@redhat.com>
1871
1872 PR rtl-optimization/46878
1873 * combine.c (insn_a_feeds_b): Check for the implicit cc0
1874 setter/user dependency as well.
1875
1876 2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
1877
1878 PR rtl-optimization/44469
1879 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
1880 after removing trivially dead basic blocks.
1881
1882 2011-01-26 Joseph Myers <joseph@codesourcery.com>
1883
1884 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
1885 * config/frv/frv.h (LINK_SPEC): Likewise.
1886 * config/i386/netware.h (LINK_SPEC): Likewise.
1887 * config/m68k/linux.h (ASM_SPEC): Likewise.
1888 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
1889 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1890 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1891 * config/sparc/linux.h (ASM_SPEC): Likewise.
1892 * config/sparc/linux64.h (ASM_SPEC): Likewise.
1893 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1894
1895 2011-01-26 Joseph Myers <joseph@codesourcery.com>
1896
1897 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
1898 * config/frv/frv.h (ASM_SPEC): Likewise.
1899 * config/m68k/linux.h (ASM_SPEC): Likewise.
1900 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1901 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
1902 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1903 * config/sparc/linux.h (ASM_SPEC): Likewise.
1904 * config/sparc/linux64.h (ASM_SPEC): Likewise.
1905 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1906
1907 2011-01-26 Joseph Myers <joseph@codesourcery.com>
1908
1909 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
1910 * config/frv/frv.h (LINK_SPEC): Likewise.
1911 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1912
1913 2011-01-26 Joseph Myers <joseph@codesourcery.com>
1914
1915 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
1916 * config/frv/frv.h (ASM_SPEC): Likewise.
1917 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
1918 * config/m68k/linux.h (ASM_SPEC): Likewise.
1919 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
1920 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
1921 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
1922 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
1923 * config/sparc/linux.h (ASM_SPEC): Likewise.
1924 * config/sparc/linux64.h (ASM_SPEC): Likewise.
1925 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
1926 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
1927
1928 2011-01-26 Steve Ellcey <sje@cup.hp.com>
1929
1930 PR target/46997
1931 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
1932 (*mux2): Ditto.
1933 (vec_extract_evenodd_help): Ditto.
1934 (vec_extract_evenv4hi): Ditto.
1935 (vec_extract_oddv4hi): Ditto.
1936 (vec_interleave_lowv2si): Ditto.
1937 (vec_interleave_highv2si): Ditto.
1938 (vec_extract_evenv2si): Ditto.
1939 (vec_extract_oddv2si: Ditto.
1940 (vec_pack_trunc_v2si): Ditto.
1941
1942 2011-01-22 Jan Hubicka <jh@suse.cz>
1943
1944 PR target/47237
1945 * cgraph.h (cgraph_local_info): New field can_change_signature.
1946 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
1947 signature can change.
1948 (ipcp_estimate_growth): Call sequence simplify only if calle signature
1949 can change.
1950 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
1951 (cgraph_function_versioning): We can not change signature of functions
1952 that don't allow that.
1953 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
1954 (lto_input_node): Likewise.
1955 * ipa-inline.c (compute_inline_parameters): Compute
1956 local.can_change_signature.
1957 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
1958 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
1959 functions that can not change signature.
1960 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
1961 init_cumulative_args): Do not use local calling conventions
1962 for functions that can not change signature.
1963
1964 2011-01-22 Jan Hubicka <jh@suse.cz>
1965
1966 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
1967
1968 2011-01-26 Richard Guenther <rguenther@suse.de>
1969
1970 PR tree-optimization/47190
1971 * cgraphunit.c (process_common_attributes): New function.
1972 (process_function_and_variable_attributes): Use it.
1973
1974 2011-01-26 Richard Guenther <rguenther@suse.de>
1975
1976 PR lto/47423
1977 * cgraphbuild.c (record_eh_tables): Record reference to personality
1978 function.
1979
1980 2011-01-26 Alexandre Oliva <aoliva@redhat.com>
1981
1982 PR debug/45454
1983 * sel-sched.c (moveup_expr): Don't let debug insns prevent
1984 non-debug insns from moving up.
1985
1986 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
1987
1988 PR target/40125
1989 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
1990 t-dlldir{,-x} fragment for build and add it to tmake_file.
1991 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1992 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
1993 * config/i386/t-dlldir: New file.
1994 (SHLIB_DLLDIR): Define.
1995 * config/i386/t-dlldir-x: New file.
1996 (SHLIB_DLLDIR): Define.
1997 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
1998 (SHLIB_INSTALL): Use it.
1999
2000 2011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
2001
2002 PR target/47246
2003 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
2004 lower bound of the allowed Thumb-2 coprocessor load/store
2005 index range to -256. Add explaining comment.
2006
2007 2011-01-25 Ian Lance Taylor <iant@google.com>
2008
2009 * godump.c (go_define): Improve lexing of macro expansion to only
2010 accept expressions which match Go spec.
2011
2012 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2013
2014 PR c++/43601
2015 * tree.c (handle_dll_attribute): Handle it.
2016 * doc/extend.texi (@item dllexport): Mention it.
2017 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2018
2019 2011-01-25 Ian Lance Taylor <iant@google.com>
2020
2021 PR tree-optimization/26854
2022 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2023 (decl_jump_unsafe): Move higher in file, with no other change.
2024 (bind): Set has_jump_unsafe_decl if appropriate.
2025 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2026 (check_earlier_gotos): Likewise.
2027 (c_check_switch_jump_warnings): Likewise.
2028
2029 2011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
2030
2031 * doc/invoke.texi (Warning Options): Add missing hyphen.
2032 (-fprofile-dir): Minor grammatical fixes.
2033 (-fbranch-probabilities): Likewise.
2034
2035 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
2036
2037 PR debug/45136
2038 PR debug/45130
2039 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2040 debug insns.
2041 (no_real_insns_p, schedule_block, set_priorities): Drop special
2042 treatment of boundary debug insns.
2043 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
2044 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2045 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2046 (BOUNDARY_DEBUG_INSN_P): Likewise.
2047 (SCHEDULE_DEBUG_INSN_P): Likewise.
2048 * sched-rgn.c (init_ready_list): Drop special treatment of
2049 boundary debug insns.
2050 * final.c (rest_of_clean-state): Clear notes' BB.
2051
2052 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2053
2054 * Makefile.in (LAMBDA_H): Removed.
2055 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2056 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2057 lambda-trans.o, and tree-loop-linear.o.
2058 (lto-symtab.o): Remove dependence on LAMBDA_H.
2059 (tree-loop-linear.o): Remove rule.
2060 (lambda-mat.o): Same.
2061 (lambda-trans.o): Same.
2062 (lambda-code.o): Same.
2063 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2064 (tree-vect-slp.o): Same.
2065 * hwint.h (gcd): Moved here.
2066 (least_common_multiple): Same.
2067 * lambda-code.c: Removed.
2068 * lambda-mat.c: Removed.
2069 * lambda-trans.c: Removed.
2070 * lambda.h: Removed.
2071 * tree-loop-linear.c: Removed.
2072 * lto-symtab.c: Do not include lambda.h.
2073 * omega.c (gcd): Removed.
2074 * passes.c (init_optimization_passes): Remove pass_linear_transform.
2075 * tree-data-ref.c (print_lambda_vector): Moved here.
2076 (lambda_vector_copy): Same.
2077 (lambda_matrix_copy): Same.
2078 (lambda_matrix_id): Same.
2079 (lambda_vector_first_nz): Same.
2080 (lambda_matrix_row_add): Same.
2081 (lambda_matrix_row_exchange): Same.
2082 (lambda_vector_mult_const): Same.
2083 (lambda_vector_negate): Same.
2084 (lambda_matrix_row_negate): Same.
2085 (lambda_vector_equal): Same.
2086 (lambda_matrix_right_hermite): Same.
2087 * tree-data-ref.h: Do not include lambda.h.
2088 (lambda_vector): Moved here.
2089 (lambda_matrix): Same.
2090 (dependence_level): Same.
2091 (lambda_transform_legal_p): Removed declaration.
2092 (lambda_collect_parameters): Same.
2093 (lambda_compute_access_matrices): Same.
2094 (lambda_vector_gcd): Same.
2095 (lambda_vector_new): Same.
2096 (lambda_vector_clear): Same.
2097 (lambda_vector_lexico_pos): Same.
2098 (lambda_vector_zerop): Same.
2099 (lambda_matrix_new): Same.
2100 * tree-flow.h (least_common_multiple): Removed declaration.
2101 * tree-parloops.c (lambda_trans_matrix): Moved here.
2102 (LTM_MATRIX): Same.
2103 (LTM_ROWSIZE): Same.
2104 (LTM_COLSIZE): Same.
2105 (LTM_DENOMINATOR): Same.
2106 (lambda_trans_matrix_new): Same.
2107 (lambda_matrix_vector_mult): Same.
2108 (lambda_transform_legal_p): Same.
2109 * tree-pass.h (pass_linear_transform): Removed declaration.
2110 * tree-ssa-loop.c (tree_linear_transform): Removed.
2111 (gate_tree_linear_transform): Removed.
2112 (pass_linear_transform): Removed.
2113 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
2114 flag_loop_interchange.
2115
2116 2011-01-25 Jakub Jelinek <jakub@redhat.com>
2117
2118 PR tree-optimization/47265
2119 PR tree-optimization/47443
2120 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
2121 if name still has some uses.
2122
2123 2011-01-25 Martin Jambor <mjambor@suse.cz>
2124
2125 PR tree-optimization/47382
2126 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
2127 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
2128
2129 2011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
2130
2131 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
2132 sjlj_except_unwind_info.
2133
2134 2011-01-25 Richard Guenther <rguenther@suse.de>
2135
2136 PR tree-optimization/47426
2137 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
2138 visible functions results escape.
2139
2140 2011-01-25 Jakub Jelinek <jakub@redhat.com>
2141
2142 PR target/45701
2143 * config/arm/arm.c (any_sibcall_uses_r3): New function.
2144 (arm_get_frame_offsets): Use it.
2145
2146 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2147 Jakub Jelinek <jakub@redhat.com>
2148
2149 PR tree-optimization/47271
2150 * tree-if-conv.c (bb_postdominates_preds): New.
2151 (if_convertible_bb_p): Call bb_postdominates_preds.
2152 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
2153 (predicate_scalar_phi): Call bb_postdominates_preds.
2154
2155 2011-01-25 Nick Clifton <nickc@redhat.com>
2156
2157 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
2158 * config/rx/rx.c (rx_function_value): Likewise.
2159 (rx_promote_function_mode): Likewise.
2160 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
2161 in order to make it legitimate.
2162 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
2163 make sure that the first operand is the same as the result register.
2164 (addsi3_unspec): Delete.
2165 (subdi3): Do not accept immediate operands.
2166 (subdi3_internal): Likewise.
2167
2168 2011-01-25 Jeff Law <law@redhat.com>
2169
2170 PR rtl-optimization/37273
2171 * ira-costs.c (scan_one_insn): Detect constants living in memory and
2172 handle them like argument loads from stack slots. Do not double
2173 count memory for memory constants and argument loads from stack slots.
2174
2175 2011-01-25 Jakub Jelinek <jakub@redhat.com>
2176
2177 PR tree-optimization/47427
2178 PR tree-optimization/47428
2179 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
2180 coalesce if the new root var would be TREE_READONLY.
2181
2182 2011-01-25 Richard Guenther <rguenther@suse.de>
2183
2184 PR middle-end/47414
2185 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
2186 correct type for TBAA.
2187
2188 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2189
2190 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
2191 (close_phi_written_to_memory): Call for_each_index with
2192 dr_indices_valid_in_loop.
2193
2194 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2195
2196 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
2197 when it is initialized.
2198
2199 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2200
2201 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
2202 call to graphite_find_data_references_in_stmt.
2203 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
2204 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
2205 call to graphite_find_data_references_in_stmt.
2206 (analyze_drs_in_stmts): Same.
2207 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
2208 in which the scalar analysis of indices is performed.
2209 (create_data_ref): Same. Update call to dr_analyze_indices.
2210 (find_data_references_in_stmt): Update call to create_data_ref.
2211 (graphite_find_data_references_in_stmt): Same.
2212 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
2213 declaration.
2214 (create_data_ref): Same.
2215 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
2216 call to create_data_ref.
2217
2218 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2219
2220 * graphite-sese-to-poly.c (build_poly_scop): Move
2221 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2222
2223 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2224
2225 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
2226 VAR_DECL, PARM_DECL, and RESULT_DECL.
2227
2228 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2229
2230 * graphite-dependences.c (reduction_dr_1): Allow several reductions
2231 in a reduction PBB.
2232 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
2233 that have already been marked as PBB_IS_REDUCTION.
2234
2235 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2236
2237 * graphite-scop-detection.c (same_close_phi_node): New.
2238 (remove_duplicate_close_phi): New.
2239 (make_close_phi_nodes_unique): New.
2240 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
2241
2242 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2243
2244 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
2245 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
2246 of both data references to be the same.
2247
2248 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2249
2250 * graphite-dependences.c (build_lexicographical_constraint): Remove
2251 the gdim parameter.
2252 (build_lexicographical_constraint): Adjust call to
2253 ppl_powerset_is_empty.
2254 (dependence_polyhedron): Same.
2255 (graphite_legal_transform_dr): Same.
2256 (graphite_carried_dependence_level_k): Same.
2257 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
2258 parameter.
2259 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
2260
2261 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2262
2263 * graphite-sese-to-poly.c
2264 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
2265 (close_phi_written_to_memory): New.
2266 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
2267 and unshare_expr.
2268
2269 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2270
2271 * doc/install.texi: Update the expected version number of PPL to 0.11.
2272 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
2273 #if PPL_VERSION_MINOR < 11.
2274
2275 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2276
2277 * graphite-dependences.c: Include graphite-cloog-util.h.
2278 (new_poly_ddr): Inlined into dependence_polyhedron.
2279 (free_poly_ddr): Moved close by new_poly_ddr.
2280 (dependence_polyhedron_1): Renamed dependence_polyhedron.
2281 Early return NULL when ppl_powerset_is_empty returns true.
2282 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
2283 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
2284 (graphite_legal_transform_dr): Call new_poly_ddr.
2285 (graphite_carried_dependence_level_k): Same.
2286 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
2287 (dot_transformed_deps_stmt_1): Removed.
2288 (dot_deps_stmt_1): Call dot_deps_stmt_2.
2289 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
2290 (dot_deps_1): Call dot_deps_2.
2291 * Makefile.in (graphite-dependences.o): Add missing dependence on
2292 graphite-cloog-util.h.
2293
2294 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2295
2296 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
2297 (build_lexicographical_constraint): Same.
2298 (dependence_polyhedron_1): Same.
2299 (graphite_legal_transform_dr): Same.
2300 (graphite_carried_dependence_level_k): Same.
2301 * graphite-ppl.c (ppl_powerset_is_empty): New.
2302 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
2303 * tree-data-ref.c (dump_data_reference): Print the basic block index.
2304
2305 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2306
2307 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
2308 the "a followed by b" relation and document it.
2309
2310 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2311
2312 * graphite-dependences.c (build_lexicographical_constraint): Stop the
2313 iteration when the bag of constraints is empty.
2314
2315 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2316
2317 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
2318
2319 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2320
2321 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
2322 nest and two loop depths as parameters.
2323 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
2324 lst_perfect_nestify.
2325
2326 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2327
2328 * graphite-dependences.c (print_pddr): Call
2329 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
2330
2331 2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2332
2333 * graphite-ppl.c (debug_gmp_value): New.
2334 * graphite-ppl.h (debug_gmp_value): Declared.
2335
2336 2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
2337
2338 * doc/install.texi: Document availability of cloog-0.16.
2339
2340 2011-01-25 Vladimir Kargov <kargov@gmail.com>
2341
2342 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
2343 invalid postdominance info.
2344
2345 2011-01-24 Jan Hubicka <jh@suse.cz>
2346
2347 PR c/21659
2348 * doc/extend.texi (weak pragma): Drop claim that it must
2349 appear before definition.
2350 * varasm.c (merge_weak, declare_weak): Only sanity check
2351 that DECL is not output at a time it is declared weak.
2352
2353 2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
2354
2355 * machmode.def: Fixed comments.
2356
2357 2011-01-24 Kai Tietz <kai.tietz@onevision.com>
2358
2359 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2360
2361 2011-01-24 Paul Koning <ni1d@arrl.net>
2362
2363 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
2364 WORDS_BIG_ENDIAN.
2365
2366 2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
2367
2368 PR target/46519
2369 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
2370 (block_info): Add scanned and prev.
2371 (move_or_delete_vzeroupper_2): Return if the basic block
2372 has been scanned and the upper 128bit state is unchanged
2373 from the last scan.
2374 (move_or_delete_vzeroupper_1): Return true if the exit
2375 state is changed.
2376 (move_or_delete_vzeroupper): Visit basic blocks using the
2377 work-list based algorithm based on vt_find_locations in
2378 var-tracking.c.
2379
2380 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
2381
2382 2011-01-24 Nick Clifton <nickc@redhat.com>
2383
2384 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
2385 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
2386 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
2387 then define __v850e1__.
2388 * doc/invoke.texi: Document -mv850es.
2389
2390 2011-01-24 Richard Henderson <rth@redhat.com>
2391
2392 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
2393 compound unordered comparisons.
2394 * config/rx/rx.c (rx_split_fp_compare): Remove.
2395 * config/rx/rx-protos.h: Update.
2396 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
2397 (cbranchsf4): Don't call rx_split_fp_compare.
2398 (*cbranchsf4): Use rx_split_cbranch.
2399 (*cmpsf): Don't accept "i" constraint.
2400 (*conditional_branch): Only valid after reload.
2401 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
2402
2403 2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
2404
2405 PR target/47385
2406 * config/rs6000/altivec.md (vector constant splitters): Add
2407 support for creating vector single precision constants if -mvsx is
2408 used and we would create the constant using Altivec primitives.
2409
2410 2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
2411 Richard Sandiford <rdsandiford@googlemail.com>
2412
2413 PR rtl-optimization/47166
2414 * reload1.c (emit_reload_insns): Disable the spill_reg_store
2415 mechanism for PRE_MODIFY and POST_MODIFY.
2416 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
2417 reloadreg.
2418
2419 2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
2420
2421 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
2422
2423 2011-01-22 Jan Hubicka <jh@suse.cz>
2424
2425 PR lto/47333
2426 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
2427
2428 2011-01-22 Jan Hubicka <jh@suse.cz>
2429
2430 PR tree-optimization/43884
2431 PR lto/44334
2432 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
2433 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
2434
2435 2011-01-22 Anatoly Sokolov <aesok@post.ru>
2436
2437 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
2438 * config/s390/s390.c (s390_register_move_cost,
2439 s390_memory_move_cost): New.
2440 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
2441
2442 2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2443
2444 PR middle-end/47401
2445 * except.c (sjlj_assign_call_site_values): Move setting the
2446 crtl->uses_eh_lsda flag to ...
2447 (sjlj_mark_call_sites): ... here.
2448 (sjlj_emit_function_enter): Support NULL dispatch label.
2449 (sjlj_build_landing_pads): In a function with no landing pads
2450 that still has must-not-throw regions, generate code to register
2451 a personality function with empty LSDA.
2452
2453 2011-01-21 Richard Henderson <rth@redhat.com>
2454
2455 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
2456
2457 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
2458
2459 * compare-elim.c: New file.
2460 * Makefile.in (OBJS-common): Add it.
2461 (compare-elim.o): New.
2462 * common.opt (fcompare-elim): New.
2463 * opts.c (default_options_table): Add OPT_fcompare_elim.
2464 * tree-pass.h (pass_compare_elim_after_reload): New.
2465 * passes.c (init_optimization_passes): Add it.
2466 * recog.h: Protect against re-inclusion.
2467 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
2468 * doc/invoke.texi (-fcompare-elim): Document it.
2469 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
2470 * doc/tm.texi: Rebuild.
2471
2472 2011-01-22 Nick Clifton <nickc@redhat.com>
2473
2474 * config/rx/rx.md (cstoresf4): Pass comparison operator to
2475 rx_split_fp_compare.
2476
2477 2011-01-22 Nick Clifton <nickc@redhat.com>
2478
2479 * config/rx/rx.md (UNSPEC_CONST): New.
2480 (deallocate_and_return): Wrap the amount popped off the stack in
2481 an UNSPEC_CONST in order to stop it being rejected by
2482 -mmax-constant-size.
2483 (pop_and_return): Add a "(return)" rtx.
2484 (call): Drop the immediate operand.
2485 (call_internal): Likewise.
2486 (call_value): Likewise.
2487 (call_value_internal): Likewise.
2488 (sibcall_internal): Likewise.
2489 (sibcall_value_internal): Likewise.
2490 (sibcall): Likewise. Generate an explicit call using
2491 sibcall_internal.
2492 (sibcall_value): Likewise.
2493 (mov<>): FAIL if a constant operand is not legitimate.
2494 (addsi3_unpsec): New pattern.
2495
2496 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
2497 (ok_for_max_constant): New function.
2498 (gen_safe_add): New function.
2499 (rx_expand_prologue): Use gen_safe_add.
2500 (rx_expand_epilogue): Likewise.
2501 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
2502 UNSPEC CONSTs.
2503
2504 2011-01-21 Jeff Law <law@redhat.com>
2505
2506 PR tree-optimization/47053
2507 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
2508 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
2509 statements are deleted.
2510 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
2511 is nonempty, then purge dead edges and cleanup the CFG.
2512
2513 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
2514
2515 PR debug/47402
2516 Temporarily revert:
2517 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
2518 PR debug/47106
2519 * tree-dfa.c (create_var_ann): Mark variable as used.
2520
2521 2011-01-21 Jakub Jelinek <jakub@redhat.com>
2522
2523 PR middle-end/45566
2524 * except.c (convert_to_eh_region_ranges): Emit queued no-region
2525 notes from other section in hot/cold partitioning even if
2526 last_action is -3. Increment call_site_base.
2527
2528 PR rtl-optimization/47366
2529 * fwprop.c (forward_propagate_into): Return bool. If
2530 any changes are made, -fnon-call-exceptions is used and
2531 REG_EH_REGION note is present, call purge_dead_edges
2532 and return true if it purged anything.
2533 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
2534 any EH edges were purged.
2535
2536 2011-01-21 Jeff Law <law@redhat.com>
2537
2538 PR rtl-optimization/41619
2539 * caller-save.c (setup_save_areas): Break out code to determine
2540 which hard regs are live across calls by examining the reload chains
2541 so that it is always used.
2542 Eliminate code which checked REG_N_CALLS_CROSSED.
2543
2544 2011-01-21 Jakub Jelinek <jakub@redhat.com>
2545
2546 PR tree-optimization/47355
2547 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
2548 NOP has non-debug uses beyond PHIs in new_bb.
2549
2550 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
2551
2552 PR debug/47106
2553 * cfgexpand.c (account_used_vars_for_block): Only account vars
2554 that are annotated as used.
2555 (estimated_stack_frame_size): Don't set TREE_USED.
2556 * tree-dfa.c (create_var_ann): Mark variable as used.
2557
2558 2011-01-21 Richard Guenther <rguenther@suse.de>
2559
2560 PR middle-end/47395
2561 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
2562
2563 2011-01-21 Richard Guenther <rguenther@suse.de>
2564
2565 PR tree-optimization/47365
2566 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
2567 (vn_reference_lookup_pieces): Adjust.
2568 (vn_reference_lookup): Likewise.
2569 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
2570 (vn_reference_lookup_3): Only look through kills if in
2571 VN_WALKREWRITE mode.
2572 (vn_reference_lookup_pieces): Adjust.
2573 (vn_reference_lookup): Likewise.
2574 (visit_reference_op_load): Likewise.
2575 (visit_reference_op_store): Likewise.
2576 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
2577 (compute_avail): Likewise.
2578 (eliminate): Likewise.
2579
2580 2011-01-21 Jakub Jelinek <jakub@redhat.com>
2581
2582 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
2583 DECL_IGNORED_P non-reg vars if they are used.
2584
2585 PR tree-optimization/47391
2586 * varpool.c (const_value_known_p): Return false if
2587 decl is volatile.
2588
2589 2011-01-21 Kai Tietz <kai.tietz@onevision.com>
2590
2591 PR bootstrap/47215
2592 * config/i386/i386.c (ix86_local_alignment): Handle
2593 case for va_list_type_node is nil.
2594 (ix86_canonical_va_list_type): Likewise.
2595
2596 2011-01-21 Alan Modra <amodra@gmail.com>
2597
2598 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
2599 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
2600
2601 2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2602
2603 * config/arm/arm.md (define_attr type): Rename f_load
2604 and f_store to f_fpa_load and f_fpa_store. Update.
2605 (write_conflict): Deal with rename fallout.
2606 (*push_fp_multi): Likewise.
2607 * config/arm/fpa.md (f_load): Use f_fpa_load.
2608 (f_store): Use f_fpa_store.
2609 (*movsf_fpa): Likewise.
2610 (*movdf_fpa): Likewise.
2611 (*movxf_fpa): Likewise.
2612 (*thumb2_movsf_fpa): Likewise.
2613 (*thumb2_movdf_fpa): Likewise.
2614 (*thumb2_movxf_fpa): Likewise.
2615 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
2616 f_loadd and f_stored.
2617 (*thumb2_movdi_vfp): Likewise.
2618 (*thumb2_movsf_vfp): Fix attribute to f_loads.
2619 (*thumb2_movsi_vfp): Likewise.
2620 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
2621 Use f_loads instead of f_load.
2622 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
2623
2624 2011-01-20 Anatoly Sokolov <aesok@post.ru>
2625
2626 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2627 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
2628 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2629 (xtensa_mode_dependent_address_p): New function.
2630 (constantpool_address_p): Make static. Change return type to bool.
2631 Change argument type to const_rtx. Use CONST_INT_P predicate.
2632
2633 2011-01-20 Alexandre Oliva <aoliva@redhat.com>
2634
2635 PR debug/46583
2636 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
2637
2638 2011-01-20 Jakub Jelinek <jakub@redhat.com>
2639
2640 PR debug/47283
2641 * cfgexpand.c (expand_debug_expr): Instead of generating
2642 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
2643 etc. handling.
2644
2645 2011-01-20 Richard Guenther <rguenther@suse.de>
2646
2647 PR middle-end/47370
2648 * tree-inline.c (remap_gimple_op_r): Recurse manually for
2649 the pointer operand of MEM_REFs.
2650
2651 2011-01-20 Jakub Jelinek <jakub@redhat.com>
2652
2653 PR tree-optimization/46130
2654 * ipa-split.c (consider_split): If return_bb contains non-virtual
2655 PHIs other than for retval or if split_function would not adjust it,
2656 refuse to split.
2657
2658 2011-01-20 Richard Guenther <rguenther@suse.de>
2659
2660 PR tree-optimization/47167
2661 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
2662 Revert previous change, only avoid enumeral type changes.
2663
2664 2011-01-19 Mike Stump <mikestump@comcast.net>
2665
2666 * doc/tm.texi.in (BRANCH_COST): Englishify.
2667 * doc/tm.texi (BRANCH_COST): Likewise.
2668
2669 2011-01-19 Dodji Seketeli <dodji@redhat.com>
2670
2671 PR c++/47291
2672 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
2673 (gen_scheduled_generic_parms_dies): New functions.
2674 (gen_struct_or_union_type_die): Schedule template parameters DIEs
2675 generation for the end of CU compilation.
2676 (dwarf2out_finish): Generate template parameters DIEs here.
2677
2678 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
2679
2680 PR debug/46240
2681 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
2682 debug bind stmt on merge edges.
2683
2684 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
2685
2686 PR debug/47079
2687 PR debug/46724
2688 * function.c (instantiate_expr): Instantiate incoming rtl of
2689 implicit arguments, and recurse on VALUE_EXPRs.
2690 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
2691 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
2692
2693 2011-01-19 Alexandre Oliva <aoliva@redhat.com>
2694
2695 * c-parser.c (c_parser_for_statement): Initialize
2696 collection_expression.
2697
2698 2011-01-19 Joseph Myers <joseph@codesourcery.com>
2699
2700 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
2701
2702 2011-01-19 Joseph Myers <joseph@codesourcery.com>
2703
2704 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
2705 (LINK_SHLIB_SPEC): Don't use %(link_path).
2706 (SUBTARGET_EXTRA_SPECS): Remove link_path.
2707
2708 2011-01-19 Joseph Myers <joseph@codesourcery.com>
2709
2710 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
2711 (NO_SHARED_LIB_SUPPORT): Remove.
2712 (LINK_SHLIB_SPEC): Remove one conditional definition.
2713
2714 2011-01-19 Joseph Myers <joseph@codesourcery.com>
2715
2716 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
2717 %{call_shared}.
2718 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
2719 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
2720 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
2721 %{call_shared} and conditionals on these options not being passed.
2722 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
2723 %{call_shared}.
2724
2725 2011-01-19 Jakub Jelinek <jakub@redhat.com>
2726
2727 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
2728 simplify.
2729
2730 * ipa-split.c: Spelling fixes.
2731
2732 2011-01-19 Richard Henderson <rth@redhat.com>
2733
2734 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
2735 (*mulsi3): Likewise.
2736
2737 * longlong.h [__mn10300__] (count_leading_zeros): New.
2738 [__mn10300__] (umul_ppmm, smul_ppmm): New.
2739 [__mn10300__] (add_ssaaaa, subddmmss): New.
2740 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
2741 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
2742
2743 2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2744
2745 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
2746
2747 2011-01-19 Richard Henderson <rth@redhat.com>
2748
2749 * config/mn10300/mn10300.md (addsi3_flags): New.
2750 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
2751 (subsi3_flags, subc_internal, subdi3): New.
2752 (subdi3_internal, *subdi3_degenerate): New.
2753 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
2754
2755 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
2756 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
2757 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
2758 * config/mn10300/mn10300-protos.h: Update.
2759 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
2760 (return_ret): Likewise. Rename from return_internal_regs.
2761 (return_internal): Remove.
2762
2763 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
2764 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
2765 (mn10300_legitimate_constant_p): Likewise.
2766 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
2767 (mn10300_frame_size): New.
2768 (mn10300_expand_prologue): Use it.
2769 (mn10300_expand_epilogue): Likewise.
2770 (mn10300_initial_offset): Likewise.
2771 * config/mn10300/mn10300-protos.h: Update.
2772 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
2773 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
2774 (prologue, epilogue, return_internal): Tidy output code.
2775 (mn10300_store_multiple_operation, return): Likewise.
2776 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
2777 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
2778 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
2779 (load_pic, am33_load_pic): New.
2780 (mn10300_load_pic0, mn10300_load_pic1): New.
2781
2782 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
2783 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
2784 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
2785 (cc_flags_for_mode, cc_flags_for_code): New.
2786 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
2787 overflow flag is not valid. Validate that the flags we need
2788 for the comparison are valid.
2789 (mn10300_output_cmp): Remove.
2790 (mn10300_output_add): New.
2791 (mn10300_select_cc_mode): Use cc_flags_for_code.
2792 (mn10300_split_cbranch): New.
2793 (mn10300_match_ccmode): New.
2794 (mn10300_split_and_operand_count): New.
2795 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
2796 to the function.
2797 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
2798 (addsi3): ... here. Use mn10300_output_add.
2799 (*addsi3_flags): New.
2800 (*am33_subsi3, *mn10300_subsi3): Merge...
2801 (subsi3): ... here. Use attribute isa.
2802 (*subsi3_flags): New.
2803 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
2804 when possible.
2805 (*am33_andsi3, *mn10300_andsi3): Merge...
2806 (andsi3): ... here.
2807 (*andsi3_flags): New.
2808 (andsi3 splitters): New.
2809 (*am33_iorsi3, *mn10300_iorsi3): Merge...
2810 (iorsi3): ... here.
2811 (*iorsi3_flags): New.
2812 (*am33_xorsi3, *mn10300_xorsi3): Merge...
2813 (xorsi3): ... here.
2814 (*xorsi3_flags): New.
2815 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
2816 (one_cmplsi2): ... here.
2817 (*one_cmplsi2_flags): New.
2818 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
2819 instead of "dax" in constraints. Use mn10300_split_cbranch.
2820 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
2821 use matching constraints to eliminate a self-comparison.
2822 (*integer_conditional_branch): Rename from integer_conditional_branch.
2823 Use int_mode_flags to match CC_REG.
2824 (*cbranchsi4_btst, *btstsi): New.
2825 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
2826 mn10300_split_cbranch.
2827 (*am33_cmpsf): Rename from am33_cmpsf.
2828 (*float_conditional_branch): Rename from float_conditional_branch.
2829 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
2830 (zero_extendqisi2): ... here.
2831 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
2832 (zero_extendhisi2): ... here.
2833 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
2834 (extendqisi2): ... here.
2835 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
2836 (extendhisi2): ... here.
2837 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
2838 (ashlsi3): ... here.
2839 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
2840 (lshrsi3): ... here.
2841 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
2842 (ashrsi3): ... here.
2843 (consecutive add peephole): Remove.
2844 * config/mn10300/predicates.md (label_ref_operand): New.
2845 (int_mode_flags): New.
2846 (CCZN_comparison_operator): New.
2847
2848 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
2849 (throughput_42_latency_43): New reservation.
2850 (mulsidi3, umulsidi3): New expanders.
2851 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
2852 the MDR register to allocation; separately allocate the low and
2853 high parts of the DImode result.
2854 (umulsidi3_internal): Similarly.
2855 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
2856 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
2857 (udivsi3, umodsi3): Remove.
2858 (udivmodsi4, divmodsi4): New expanders.
2859 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
2860 (*divmodsi4): Simiarly.
2861 (ext_internal): New.
2862
2863 * config/mn10300/constraints.md ("z"): New constraint.
2864 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
2865 (FIXED_REGISTERS): Don't fix MDR.
2866 (CALL_USED_REGSITERS): Reformat nicely.
2867 (REG_ALLOC_ORDER): Add MDR.
2868 (enum regclass): Add MDR_REGS.
2869 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
2870 (IRA_COVER_CLASSES): Add MDR_REGS.
2871 (REGNO_REG_CLASS): Handle MDR_REG.
2872 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
2873 (mn10300_register_move_cost): Likewise.
2874 * config/mn10300/mn10300.md (MDR_REG): New.
2875 (*movsi_internal): Handle moves to/from MDR_REGS.
2876
2877 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
2878 POST_MODIFY.
2879 (mn10300_secondary_reload): Tidy combination reload classes.
2880 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
2881 addresses for AM33. Allow symbolic offsets for reg+imm.
2882 (mn10300_regno_in_class_p): New.
2883 (mn10300_legitimize_reload_address): New.
2884 * config/mn10300/mn10300.h (enum reg_class): Remove
2885 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
2886 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
2887 SP_OR_GENERAL_REGS.
2888 (REG_CLASS_NAMES): Update to match.
2889 (REG_CLASS_CONTENTS): Likewise.
2890 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
2891 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
2892 (REGNO_IN_RANGE_P): Remove.
2893 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
2894 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
2895 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
2896 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
2897 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
2898 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
2899 (REGNO_GENERAL_P): New.
2900 (HAVE_POST_MODIFY_DISP): New.
2901 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
2902 (LEGITIMIZE_RELOAD_ADDRESS): New.
2903 * config/mn10300/mn10300-protos.h: Update.
2904
2905 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
2906 DATA_REGS for AM33 stack-pointer destination.
2907 (mn10300_preferred_output_reload_class): Likewise.
2908 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
2909 into a form appropriate for ...
2910 (TARGET_SECONDARY_RELOAD): New.
2911 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
2912 * config/mn10300/mn10300-protos.h: Update.
2913 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
2914 reload_insi; use the "A" constraint for the scratch; handle AM33
2915 moves of sp to non-address registers.
2916
2917 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
2918 (*movqi_internal): ... here.
2919 (*am33_movhi, *mn10300_movhi): Merge into...
2920 (*movhi_internal): ... here.
2921 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
2922 as the source/destination of moves from/to SP.
2923 (movsf): Only allow for AM33-2.
2924 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
2925 any integer constant constraint. Only allow for AM33-2. Tidy
2926 all of the alternative outputs.
2927 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
2928 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
2929 for MN103.
2930 (udivsi3, umodsi3): New patterns for MN103 only.
2931
2932 2011-01-19 Joern Rennecke <amylaar@spamcop.net>
2933
2934 * doc/tm.texi.in: Spell out that a lack of register class unions
2935 can lead to ICEs.
2936 * doc/tm.texi: Regenerate.
2937
2938 2011-01-19 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR rtl-optimization/47337
2941 * dce.c (check_argument_store): New function.
2942 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
2943
2944 PR tree-optimization/47290
2945 * tree-eh.c (infinite_empty_loop_p): New function.
2946 (cleanup_empty_eh): Use it.
2947
2948 2011-01-18 Steve Ellcey <sje@cup.hp.com>
2949
2950 PR target/46997
2951 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
2952 (a64_expand_widen_sum): Ditto.
2953 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
2954 (vec_extract_evenodd_help): Ditto.
2955 (vec_extract_evenv4hi): Ditto.
2956 (vec_extract_oddv4hi): Ditto.
2957 (vec_extract_evenv2si): Ditto.
2958 (vec_extract_oddv2si): Ditto.
2959 (vec_extract_evenv2sf): Ditto.
2960 (vec_extract_oddv2sf): Ditto.
2961 (vec_pack_trunc_v4hi: Ditto.
2962 (vec_pack_trunc_v2si): Ditto.
2963 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
2964 (vec_interleave_highv8qi): Ditto.
2965 (mix1_r): Ditto.
2966 (vec_extract_oddv8qi): Ditto.
2967 (vec_interleave_lowv4hi): Ditto.
2968 (vec_interleave_highv4hi): Ditto.
2969 (vec_interleave_lowv2si): Ditto.
2970 (vec_interleave_highv2si): Ditto.
2971
2972 2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2973
2974 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
2975 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
2976 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
2977 (pa_c_mode_for_suffix): New.
2978 (TARGET_EXPAND_BUILTIN): Define.
2979 (TARGET_C_MODE_FOR_SUFFIX): Define.
2980 (pa_builtins): Define.
2981 (pa_init_builtins): Register __float128 type and init new support
2982 builtins.
2983 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
2984 * config/pa/quadlib.c (_U_Qfcopysign): New.
2985
2986 2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
2987
2988 PR middle-end/46894
2989 * explow.c (allocate_dynamic_stack_space): Do not assume more than
2990 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
2991 are defined.
2992
2993 2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2994
2995 PR tree-optimization/47179
2996 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
2997 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
2998
2999 2011-01-18 Richard Guenther <rguenther@suse.de>
3000
3001 PR rtl-optimization/47216
3002 * emit-rtl.c: Include tree-flow.h.
3003 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
3004 of replicating it with different semantics.
3005 * Makefile.in (emit-rtl.o): Adjust.
3006
3007 2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3008
3009 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
3010 (cortex_a9_dp): Handle neon types correctly.
3011
3012 2011-01-18 Jakub Jelinek <jakub@redhat.com>
3013
3014 PR rtl-optimization/47299
3015 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
3016 subtarget. Use normal multiplication if both operands are constants.
3017 * expmed.c (expand_widening_mult): Don't try to optimize constant
3018 multiplication if op0 has VOIDmode. Convert op1 constant to mode
3019 before using it.
3020
3021 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3022
3023 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
3024 spacing after 'e.g.', typos, comma, hyphenation.
3025
3026 2011-01-17 Richard Henderson <rth@redhat.com>
3027
3028 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3029 (rx_restricted_mem_operand): New.
3030 (rx_shift_operand): Use register_operand.
3031 (rx_source_operand, rx_compare_operand): Likewise.
3032 * config/rx/rx.md (addsi3_flags): New expander.
3033 (adddi3): Rewrite as expander.
3034 (adc_internal, *adc_flags, adddi3_internal): New patterns.
3035 (subsi3_flags): New expander.
3036 (subdi3): Rewrite as expander.
3037 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3038
3039 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3040 (rx_init_builtins): Remove sat builtin.
3041 (rx_expand_builtin): Likewise.
3042 * config/rx/rx.md (ssaddsi3): New.
3043 (*sat): Rename from sat. Represent the CC_REG input.
3044
3045 * config/rx/predicates.md (rshift_operator): New.
3046 * config/rx/rx.c (rx_expand_insv): Remove.
3047 * config/rx/rx-protos.h: Update.
3048 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
3049 operand to the canonical position.
3050 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3051 (*bitclr, *bitclr_in_memory): Similarly.
3052 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3053 (insv): Retain the zero_extract in the expansion.
3054
3055 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3056 (bswaphi2, bitinvert, revw): Likewise.
3057
3058 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3059 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3060 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3061 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3062 (bitset, bitset_in_memory): Likewise.
3063 (bitinvert, bitinvert_in_memory): Likewise.
3064 (bitclr, bitclr_in_memory): Likewise.
3065 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3066 (rx_strend, rx_cmpstrn): Likewise.
3067 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
3068 (bitop peep2 patterns): Remove.
3069
3070 * config/rx/rx.c (rx_match_ccmode): New.
3071 * config/rx/rx-protos.h: Update.
3072 * config/rx/rx.md (abssi2): Clobber, don't set flags.
3073 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
3074 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
3075 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
3076 (fix_truncsfsi2, floatsisf2): Likewise.
3077 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
3078 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
3079 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
3080 (*subsi3_flags, *xorsi3_flags): New.
3081
3082 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
3083
3084 * config/rx/rx.c (rx_print_operand): Remove workaround for
3085 unsplit comparison operations.
3086
3087 * config/rx/rx.md (movsicc): Split after reload.
3088 (*movsicc): Merge *movsieq and *movsine via match_operator.
3089 (*stcc): New pattern.
3090
3091 * config/rx/rx.c (rx_float_compare_mode): Remove.
3092 * config/rx/rx.h (rx_float_compare_mode): Remove.
3093 * config/rx/rx.md (cstoresi4): Split after reload.
3094 (*sccc): New pattern.
3095
3096 * config/rx/predicates.md (label_ref_operand): New.
3097 (rx_z_comparison_operator): New.
3098 (rx_zs_comparison_operator): New.
3099 (rx_fp_comparison_operator): New.
3100 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
3101 Validate that the flags are set properly for the comparison.
3102 (rx_gen_cond_branch_template): Remove.
3103 (rx_cc_modes_compatible): Remove.
3104 (mode_from_flags): New.
3105 (flags_from_code): Rename from flags_needed_for_conditional.
3106 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
3107 (rx_select_cc_mode): Likewise.
3108 (rx_split_fp_compare): New.
3109 (rx_split_cbranch): New.
3110 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
3111 (*cbranchsi4): Use match_operator and rx_split_cbranch.
3112 (*cbranchsf4): Similarly.
3113 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
3114 match_operator and rx_split_cbranch.
3115 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
3116 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
3117 (*cmpsi): Rename from cmpsi.
3118 (*tstsi): Rename from tstsi.
3119 (*cmpsf): Rename from cmpsf; use CC_Fmode.
3120 (*conditional_branch): Rename from conditional_branch.
3121 (*reveresed_conditional_branch): Remove.
3122 (b<code>): Remove expander.
3123 * config/rx/rx-protos.h: Update.
3124
3125 * config/rx/rx.c (rx_compare_redundant): Remove.
3126 * config/rx/rx.md (cmpsi): Don't use it.
3127 * config/rx/rx-protos.h: Update.
3128
3129 * config/rx/rx-modes.def (CC_F): New mode.
3130 * config/rx/rx.c (rx_select_cc_mode): New.
3131 * config/rx/rx.h (SELECT_CC_MODE): Use it.
3132 * config/rx/rx-protos.h: Update.
3133
3134 2011-01-17 Richard Henderson <rth@redhat.com>
3135
3136 * except.c (dump_eh_tree): Fix stray ; after for statement.
3137
3138 2011-01-17 Richard Guenther <rguenther@suse.de>
3139
3140 PR tree-optimization/47313
3141 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
3142 handling before copying the body. Properly deal with
3143 by-reference result in SSA form.
3144
3145 2011-01-17 Ian Lance Taylor <iant@google.com>
3146
3147 PR target/47219
3148 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
3149 (struct_value_alias_set): Don't define.
3150 (sparc_option_override): Don't set sparc_sr_alias_set and
3151 struct_value_alias_set.
3152 (save_or_restore_regs): Use gen_frame_mem rather than calling
3153 set_mem_alias_set.
3154 (sparc_struct_value_rtx): Likewise.
3155
3156 2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
3157
3158 PR target/47318
3159 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
3160 __m128i.
3161 (_mm_maskstore_pd): Likewise.
3162 (_mm_maskload_ps): Likewise.
3163 (_mm_maskstore_ps): Likewise.
3164 (_mm256_maskload_pd): Change mask to __m256i.
3165 (_mm256_maskstore_pd): Likewise.
3166 (_mm256_maskload_ps): Likewise.
3167 (_mm256_maskstore_ps): Likewise.
3168
3169 * config/i386/i386-builtin-types.def: Updated.
3170 (ix86_expand_special_args_builtin): Likewise.
3171
3172 * config/i386/i386.c (bdesc_special_args): Update
3173 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
3174 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
3175 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
3176 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
3177
3178 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
3179 Use <avxpermvecmode> on mask register.
3180 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
3181
3182 2011-01-17 Olivier Hainque <hainque@adacore.com>
3183 Michael Haubenwallner <michael.haubenwallner@salomon.at>
3184 Eric Botcazou <ebotcazou@adacore.com>
3185
3186 PR target/46655
3187 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
3188 if <= USHRT_MAX in 32-bit mode.
3189
3190 2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3191
3192 * doc/install.texi (Configuration, Specific): Wrap long
3193 lines in examples. Allow line wrapping in long options
3194 and URLs where beneficial for PDF output.
3195
3196 2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
3197
3198 * config/mips/mips.c (mips_classify_symbol): Don't return
3199 SYMBOL_PC_RELATIVE for nonlocal labels.
3200
3201 2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
3202
3203 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
3204
3205 2011-01-15 Jan Hubicka <jh@suse.cz>
3206
3207 PR tree-optimization/47276
3208 * ipa.c (function_and_variable_visibility): Do not try to mark alias
3209 declarations as needed.
3210
3211 2011-01-15 Martin Jambor <mjambor@suse.cz>
3212
3213 * common.opt (fdevirtualize): New flag.
3214 * doc/invoke.texi (Option Summary): Document it.
3215 * opts.c (default_options_table): Add devirtualize flag.
3216 * ipa-prop.c (detect_type_change): Return immediately if
3217 devirtualize flag is not set.
3218 (detect_type_change_ssa): Likewise.
3219 (compute_known_type_jump_func): Likewise.
3220 (ipa_analyze_virtual_call_uses): Likewise.
3221
3222 2011-01-14 Martin Jambor <mjambor@suse.cz>
3223
3224 PR tree-optimization/45934
3225 PR tree-optimization/46302
3226 * ipa-prop.c (type_change_info): New type.
3227 (stmt_may_be_vtbl_ptr_store): New function.
3228 (check_stmt_for_type_change): Likewise.
3229 (detect_type_change): Likewise.
3230 (detect_type_change_ssa): Likewise.
3231 (compute_complex_assign_jump_func): Check for dynamic type change.
3232 (compute_complex_ancestor_jump_func): Likewise.
3233 (compute_known_type_jump_func): Likewise.
3234 (compute_scalar_jump_functions): Likewise.
3235 (ipa_analyze_virtual_call_uses): Likewise.
3236 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
3237
3238 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3239
3240 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
3241 * config/i386/i386.opt (msse5): New Alias.
3242
3243 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3244
3245 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3246 * config/sparc/linux64.h (CC1_SPEC): Likewise.
3247 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3248 * config/sparc/sparc.h (CC1_SPEC): Likewise.
3249
3250 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3251
3252 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
3253 -mcpu options.
3254 * config/sparc/linux64.h (CC1_SPEC): Likewise.
3255 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
3256 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
3257 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
3258 Likewise.
3259 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
3260
3261 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3262
3263 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
3264
3265 2011-01-14 Mike Stump <mikestump@comcast.net>
3266
3267 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
3268 * config/fr30/fr30.md: Likweise
3269 (movsi_push): Likewise.
3270 (movsi_pop): Likewise.
3271 (enter_func): Likewise.
3272 * config/moxie/moxie.md (movsi_push): Likewise.
3273 (movsi_pop): Likewise.
3274
3275 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3276
3277 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
3278 %{no_archive} %{exact_version}.
3279 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
3280 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
3281 %{no_archive} %{exact_version}.
3282 * config/mips/openbsd.h (LINK_SPEC): Likewise.
3283 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
3284 * config/mips/vxworks.h: Likewise.
3285
3286 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3287
3288 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
3289
3290 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3291
3292 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
3293 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
3294
3295 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3296
3297 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
3298 -nodefaultlib.
3299
3300 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3301
3302 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
3303 for mcpu not cpu.
3304 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
3305 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
3306 not cpu.
3307 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
3308 Don't handle -shlib.
3309
3310 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3311
3312 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
3313 (CC1_SPEC): Don't handle -profile.
3314
3315 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3316
3317 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
3318 * config/mips/mips.h (CC1_SPEC): Likewise.
3319
3320 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3321
3322 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
3323 * config/mips/mips.h (CC1_SPEC): Likewise.
3324
3325 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3326
3327 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
3328 * config/m32r/linux.h (LINK_SPEC): Likewise.
3329 * config/mips/linux.h (LINK_SPEC): Likewise.
3330 * config/mips/linux64.h (LINK_SPEC): Likewise.
3331 * config/sparc/linux.h (LINK_SPEC): Likewise.
3332 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
3333 LINK_SPEC): Likewise.
3334 * config/xtensa/linux.h (LINK_SPEC): Likewise.
3335
3336 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3337
3338 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
3339 %{version:-v}.
3340 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
3341
3342 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3343
3344 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
3345 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
3346
3347 2011-01-14 Joseph Myers <joseph@codesourcery.com>
3348
3349 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
3350
3351 2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3352
3353 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
3354 supports -Bstatic/-Bdynamic.
3355 * configure: Regenerate.
3356
3357 2011-01-14 Jan Hubicka <jh@suse.cz>
3358 Jack Howarth <howarth@bromo.med.uc.edu>
3359
3360 PR target/46037
3361 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
3362 when checking debug_info_level. Test write_symbols instead of
3363 debug_hooks->var_location when setting flag_var_tracking_uninit.
3364
3365 2011-01-14 Richard Guenther <rguenther@suse.de>
3366
3367 PR tree-optimization/47179
3368 * target.def (ref_may_alias_errno): New target hook.
3369 * targhooks.h (default_ref_may_alias_errno): Declare.
3370 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
3371 (default_ref_may_alias_errno): New function.
3372 * target.h (struct ao_ref_s): Declare.
3373 * tree-ssa-alias.c: Include target.h.
3374 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
3375 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
3376 (targhooks.o): Likewise.
3377 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
3378 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
3379
3380 2011-01-14 Richard Guenther <rguenther@suse.de>
3381
3382 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
3383
3384 2011-01-14 Richard Guenther <rguenther@suse.de>
3385
3386 PR tree-optimization/47280
3387 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
3388 return CFG changes.
3389 (tree_ssa_forward_propagate_single_use_vars): Deal with
3390 CFG changes from associate_plusminus.
3391
3392 2011-01-14 Richard Guenther <rguenther@suse.de>
3393
3394 PR middle-end/47281
3395 Revert
3396 2011-01-11 Richard Guenther <rguenther@suse.de>
3397
3398 PR tree-optimization/46076
3399 * tree-ssa.c (useless_type_conversion_p): Conversions from
3400 unprototyped to empty argument list function types are useless.
3401
3402 2011-01-14 Richard Guenther <rguenther@suse.de>
3403
3404 PR tree-optimization/47286
3405 * tree-ssa-structalias.c (new_var_info): Register variables are global.
3406
3407 2011-01-14 Martin Jambor <mjambor@suse.cz>
3408
3409 PR middle-end/46823
3410 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
3411
3412 2011-01-13 Anatoly Sokolov <aesok@post.ru>
3413
3414 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
3415 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
3416 * config/xtensa/xtensa.c (xtensa_libcall_value,
3417 xtensa_function_value_regno_p): New functions.
3418 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
3419
3420 2011-01-13 Kai Tietz <kai.tietz@onevision.com>
3421
3422 PR c++/47213
3423 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
3424 PE specific hook.
3425 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
3426 New function prototype.
3427 * config/i386/winnt.c (i386_pe_assemble_visibility):
3428 Warn only if attribute was specified by user.
3429
3430 2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
3431
3432 PR target/47251
3433 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
3434 floating point.
3435 (floatunsdidf2_fcfidu): Ditto.
3436
3437 2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3438
3439 * config/s390/s390.c (print_operand_address): Replace 'error' with
3440 'output_operand_lossage'.
3441 (print_operand): Likewise.
3442
3443 2011-01-13 Jeff Law <law@redhat.com>
3444
3445 PR rtl-optimization/39077
3446 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
3447 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
3448 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
3449 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
3450 * gcse.c (prune_insertions_deletions): New function.
3451 (compute_pre_data): Use it.
3452
3453 2011-01-13 Dodji Seketeli <dodji@redhat.com>
3454
3455 PR debug/PR46973
3456 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
3457 static function.
3458 (prune_unused_types_mark): Use it.
3459
3460 2011-01-13 Andrey Belevantsev <abel@ispras.ru>
3461
3462 PR rtl-optimization/45352
3463 * sel-sched.c: Update copyright years.
3464 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
3465 in the advancing loop when we have issued issue_rate insns.
3466
3467 2011-01-12 Richard Henderson <rth@redhat.com>
3468
3469 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
3470 (TARGET_MD_ASM_CLOBBERS): New.
3471
3472 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
3473 (TARGET_DELEGITIMIZE_ADDRESS): New.
3474
3475 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
3476 (clzsi2, *bsch): New patterns.
3477
3478 * config/mn10300/mn10300.md (INT): New mode iterator.
3479 (*mov<INT>_clr): New pattern, and peep2 to generate it.
3480
3481 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
3482 flag_split_wide_types.
3483
3484 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
3485 (mn10300_trampoline_init): Rewrite without a template, an immediate
3486 load and a direct branch.
3487 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
3488
3489 2011-01-12 Anatoly Sokolov <aesok@post.ru>
3490
3491 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3492 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
3493 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
3494 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3495
3496 2011-01-12 Kai Tietz <kai.tietz@onevision.com>
3497
3498 PR debug/47209
3499 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
3500 of type.
3501
3502 2011-01-12 Jan Hubicka <jh@suse.cz>
3503
3504 PR driver/47244
3505 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
3506 (PLUGIN_COND_CLOSE): New macro.
3507 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
3508
3509 2011-01-12 Richard Guenther <rguenther@suse.de>
3510
3511 PR lto/47259
3512 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
3513 register variables in a MEM_REF.
3514
3515 2011-01-12 Joseph Myers <joseph@codesourcery.com>
3516
3517 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
3518 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
3519 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
3520 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
3521 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
3522 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
3523 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
3524 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
3525 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
3526 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
3527 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
3528 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
3529 * config/gnu-user.h: New. Copied from linux.h.
3530 (LINUX_TARGET_STARTFILE_SPEC): Rename to
3531 GNU_USER_TARGET_STARTFILE_SPEC.
3532 (LINUX_TARGET_ENDFILE_SPEC): Rename to
3533 GNU_USER_TARGET_ENDFILE_SPEC.
3534 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
3535 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
3536 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
3537 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
3538 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
3539 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
3540 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
3541 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
3542 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
3543 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
3544 * config/arm/linux-eabi.h (CC1_SPEC): Use
3545 GNU_USER_TARGET_CC1_SPEC.
3546 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
3547 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
3548 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
3549 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
3550 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
3551 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
3552 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
3553 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
3554
3555 2011-01-12 Richard Guenther <rguenther@suse.de>
3556
3557 PR other/46946
3558 * doc/invoke.texi (ffast-math): Document it is turned on
3559 with -Ofast.
3560
3561 2011-01-12 Jan Hubicka <jh@suse.cz>
3562
3563 PR tree-optimization/47233
3564 * opts.c (common_handle_option): Disable ipa-reference with profile
3565 feedback.
3566
3567 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
3568
3569 * c-parser.c (c_parser_objc_at_property_declaration): Improved
3570 error message.
3571
3572 2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
3573
3574 * c-parser.c (c_lex_one_token): Updated and reindented some
3575 comments. No changes in code.
3576
3577 2011-01-11 Ian Lance Taylor <iant@google.com>
3578
3579 * godump.c (go_output_var): Don't output the variable if there is
3580 already a type with the same name.
3581
3582 2011-01-11 Ian Lance Taylor <iant@google.com>
3583
3584 * godump.c (go_format_type): Don't generate float80.
3585
3586 2011-01-11 Richard Henderson <rth@redhat.com>
3587
3588 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
3589 declaration. Rewrite for both speed and size.
3590 (mn10300_address_cost_1): Remove.
3591 (mn10300_register_move_cost): New.
3592 (mn10300_memory_move_cost): New.
3593 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
3594 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
3595 extensions, shifts, BSWAP, CLZ.
3596 (mn10300_wide_const_load_uses_clr): Remove.
3597 (TARGET_REGISTER_MOVE_COST): New.
3598 (TARGET_MEMORY_MOVE_COST): New.
3599 * config/mn10300/mn10300-protos.h: Update.
3600 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
3601
3602 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
3603 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
3604 * config/mn10300/mn10300-protos.h: Update.
3605 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
3606 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
3607 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
3608 (*test_int_bitfield, *test_byte_bitfield): Remove.
3609 (*bit_test, *subreg_bit_test): Remove.
3610 * config/mn10300/predicates.md (const_8bit_operand): Remove.
3611
3612 * config/mn10300/constraints.md ("c"): Rename from "A".
3613 ("A", "D"): New constraint letters.
3614 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
3615 (fmssf4, fnmasf4, fnmssf4): Likewise.
3616
3617 * config/mn10300/mn10300.md (isa): New attribute.
3618 (enabled): New attribute.
3619
3620 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
3621 (abssf2, negsf2): Define only for hardware fp.
3622 (sqrtsf2): Reformat.
3623 (addsf3, subsf3, mulsf3): Merge expander and insn.
3624
3625 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
3626 (DEBUGGER_AUTO_OFFSET): Remove.
3627 (DEBUGGER_ARG_OFFSET): Remove.
3628
3629 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
3630 Emit register stores with the same offsets as the hardware.
3631 (mn10300_store_multiple_operation): Don't check that the register
3632 save offsets are monotonic.
3633 * config/mn10300/mn10300-protos.h: Update.
3634
3635 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
3636
3637 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
3638 in terms of the value on the stack, not the MDR register.
3639
3640 2011-01-11 Jan Hubicka <jh@suse.cz>
3641
3642 PR lto/45721
3643 PR lto/45375
3644 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
3645 (symbol_alias_set_destroy, symbol_alias_set_contains,
3646 propagate_aliases_backward): Declare.
3647 * lto-streamer-out.c (struct sets): New sturcture.
3648 (trivally_defined_alias): New function.
3649 (output_alias_pair_p): Rewrite.
3650 (output_unreferenced_globals): Fix output of alias pairs.
3651 (produce_symtab): Likewise.
3652 * ipa.c (function_and_variable_visibility): Set weak alias destination
3653 as needed in lto.
3654 * varasm.c (symbol_alias_set_t): Remove.
3655 (symbol_alias_set_destroy): Export.
3656 (propagate_aliases_forward, propagate_aliases_backward): New functions
3657 based on ...
3658 (compute_visible_aliases): ... this one; remove.
3659 (trivially_visible_alias): New
3660 (trivially_defined_alias): New.
3661 (remove_unreachable_alias_pairs): Rewrite.
3662 (finish_aliases_1): Reorganize code checking if alias is defined.
3663 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
3664 in LTO mode.
3665
3666 2011-01-11 Richard Guenther <rguenther@suse.de>
3667
3668 PR tree-optimization/46076
3669 * tree-ssa.c (useless_type_conversion_p): Conversions from
3670 unprototyped to empty argument list function types are useless.
3671
3672 2011-01-11 Richard Guenther <rguenther@suse.de>
3673
3674 PR middle-end/45235
3675 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
3676 volatile MEMs as MEM_READONLY_P.
3677
3678 2011-01-11 Richard Guenther <rguenther@suse.de>
3679
3680 PR tree-optimization/47239
3681 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
3682
3683 2011-01-11 Jeff Law <law@redhat.com>
3684
3685 PR tree-optimization/47086
3686 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
3687 IVs from statements that might throw.
3688
3689 2011-01-10 Jan Hubicka <jh@suse.cz>
3690
3691 PR lto/45375
3692 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
3693
3694 2011-01-10 Jan Hubicka <jh@suse.cz>
3695
3696 PR lto/45375
3697 * profile.c (read_profile_edge_counts): Ignore profile inconistency
3698 when correcting profile.
3699
3700 2011-01-10 Jan Hubicka <jh@suse.cz>
3701
3702 PR lto/46083
3703 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
3704 DECL_FINI_PRIORITY.
3705 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
3706 Restore DECL_FINI_PRIORITY.
3707
3708 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3709
3710 * doc/gimple.texi: Fix quoting of multi-word return values in
3711 @deftypefn statements. Ensure presence of return value. Wrap
3712 overlong @deftypefn lines.
3713 (is_gimple_operand, is_gimple_min_invariant_address): Remove
3714 descriptions of removed functions.
3715 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
3716 of multi-word return value in @deftypefn statement.
3717
3718 2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3719
3720 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
3721 (Conditional Expressions, Logical Operators)
3722 (Statement and operand traversals): Do not indent smallexample
3723 code. Fix duplicate function argument in example.
3724
3725 2011-01-10 Jeff Law <law@redhat.com>
3726
3727 PR tree-optimization/47141
3728 * ipa-split.c (split_function): Handle case where we are
3729 returning a value and the return block has a virtual operand phi.
3730
3731 2011-01-10 Jan Hubicka <jh@suse.cz>
3732
3733 PR tree-optimization/47234
3734 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
3735 (pass_feedback_split_functions): Declare.
3736 * passes.c (init_optimization_passes): Add ipa-split as subpass of
3737 tree-profile.
3738 * ipa-split.c (gate_split_functions): Update comments; disable
3739 split-functions for profile_arc_flag and branch_probabilities.
3740 (gate_feedback_split_functions): New function.
3741 (execute_feedback_split_functions): New function.
3742 (pass_feedback_split_functions): New global var.
3743
3744 2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
3745
3746 PR lto/46760
3747 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
3748 calling gimple_call_set_cannot_inline.
3749
3750 2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
3751
3752 * config/darwin-sections.def: Remove unused section.
3753
3754 2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
3755
3756 PR c++/47218
3757 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
3758
3759 2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
3760
3761 PR objc/47232
3762 * c-parser.c (c_parser_declaration_or_fndef): Improved
3763 error message.
3764
3765 2011-01-09 Kai Tietz <kai.tietz@onevision.com>
3766
3767 * config/i386/winnt.c (i386_pe_start_function): Make sure
3768 to switch back to function's section.
3769
3770 2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
3771
3772 PR gcc/46902
3773 PR testsuite/46912
3774 * plugin.c: Move include of dlfcn.h from here...
3775 * system.h: ... to here.
3776
3777 2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3778
3779 * doc/cpp.texi (C++ Named Operators): Fix markup for header
3780 file name.
3781 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
3782 two extra empty pages in PDF output.
3783
3784 2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
3785
3786 PR objc/47078
3787 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
3788 for error recovery purposes behave as if it was not specified so
3789 that the default type is usd.
3790
3791 2011-01-07 Jan Hubicka <jh@suse.cz>
3792
3793 PR tree-optmization/46469
3794 * ipa.c (function_and_variable_visibility): Clear needed flags on
3795 nodes with external decls; handle weakrefs merging correctly.
3796
3797 2011-01-07 Joseph Myers <joseph@codesourcery.com>
3798
3799 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
3800 not false.
3801
3802 2011-01-07 Jan Hubicka <jh@suse.cz>
3803
3804 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
3805 and no longer claim that gold is required for linker plugin.
3806 * configure: Regenerate.
3807 * gcc.c (PLUGIN_COND): New macro.
3808 (LINK_COMMAND_SPEC): Use it.
3809 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
3810 * config.in (HAVE_LTO_PLUGIN): New.
3811 * configure.ac (--with-lto-plugin): New parameter; autodetect
3812 HAVE_LTO_PLUGIN.
3813
3814 2011-01-07 Jan Hubicka <jh@suse.cz>
3815
3816 PR tree-optimization/46367
3817 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
3818 when we can update original.
3819 (cgraph_mark_inline_edge): Sanity check.
3820 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
3821
3822 2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3823
3824 * config/spu/spu.h (ASM_COMMENT_START): Define.
3825
3826 2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
3827
3828 PR driver/42445
3829 * gcc.c (%>S): New.
3830 (SWITCH_KEEP_FOR_GCC): Likewise.
3831 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
3832 (do_spec_1): Handle "%>".
3833
3834 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
3835
3836 2011-01-07 Jakub Jelinek <jakub@redhat.com>
3837
3838 PR target/47201
3839 * config/i386/i386.c (ix86_delegitimize_address): If
3840 simplify_gen_subreg fails, return orig_x.
3841
3842 PR bootstrap/47187
3843 * value-prof.c (gimple_stringop_fixed_value): Handle
3844 lhs of the call properly.
3845
3846 2011-01-07 Jan Hubicka <jh@suse.cz>
3847
3848 PR lto/45375
3849 * lto-opt.c (lto_reissue_options): Set flag_shlib.
3850
3851 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
3852
3853 * target.def (function_switched_text_sections): New hook.
3854 * doc/tm.texi: Regenerated.
3855 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3856 * final.c (default_function_switched_text_sections): New.
3857 (final_scan_insn): Call function_switched_text_sections when a
3858 mid-function section change occurs.
3859 * output.h (default_function_switched_text_sections): Declare.
3860 * config/darwin-protos.h (darwin_function_switched_text_sections):
3861 Likewise.
3862 * config/darwin.c (darwin_function_switched_text_sections): New.
3863 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
3864
3865 2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
3866
3867 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
3868 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
3869 the secondary code fragment when outputting for DWARF == 2.
3870
3871 2011-01-07 Anatoly Sokolov <aesok@post.ru>
3872
3873 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
3874 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
3875 Remove.
3876 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
3877 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
3878
3879 2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
3880
3881 PR debug/46704
3882 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
3883 when it is not empty.
3884
3885 2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
3886
3887 Bobcat Enablement
3888 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
3889 (case ${target}): Add btver1.
3890 * config/i386/driver-i386.c (host_detect_local_cpu): Let
3891 -march=native recognize btver1 processors.
3892 * config/i386/i386-c.c (ix86_target_macros_internal): Add
3893 btver1 def_and_undef
3894 * config/i386/i386.c (struct processor_costs btver1_cost): New
3895 btver1 cost table.
3896 (m_BTVER1): New definition.
3897 (m_AMD_MULTIPLE): Includes m_BTVER1.
3898 (initial_ix86_tune_features): Add btver1 tune.
3899 (processor_target_table): Add btver1 entry.
3900 (static const char *const cpu_names): Add btver1 entry.
3901 (software_prefetching_beneficial_p): Add btver1.
3902 (ix86_option_override_internal): Add btver1 instruction sets.
3903 (ix86_issue_rate): Add btver1.
3904 (ix86_adjust_cost): Add btver1.
3905 * config/i386/i386.h (TARGET_BTVER1): New definition.
3906 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
3907 (enum processor_type): Add PROCESSOR_BTVER1.
3908 * config/i386/i386.md (define_attr "cpu"): Add btver1.
3909
3910 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3911
3912 PR target/43309
3913 * config/i386/i386.c (legitimize_tls_address)
3914 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
3915 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
3916 (tls_initial_exec_64_sun): New pattern.
3917
3918 2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
3919
3920 * doc/invoke.texi (Overall Options): Improve wording and markup
3921 of the description of -wrapper.
3922
3923 2011-01-06 Joseph Myers <joseph@codesourcery.com>
3924
3925 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
3926 rdynamic, threads): New Driver options.
3927
3928 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3929
3930 PR target/38118
3931 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
3932 if coming from .tdata.
3933 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
3934
3935 2011-01-06 Jan Hubicka <jh@suse.cz>
3936
3937 PR lto/47188
3938 * collect2.c (main): Do not enable LTOmode when plugin is active.
3939
3940 2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3941
3942 PR other/45915
3943 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
3944 --version output if supported.
3945 * configure: Regenerate.
3946
3947 2011-01-06 Joseph Myers <joseph@codesourcery.com>
3948
3949 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
3950 Driver options.
3951
3952 2011-01-06 Jakub Jelinek <jakub@redhat.com>
3953
3954 PR c/47150
3955 * c-convert.c (convert): When converting a complex expression
3956 other than COMPLEX_EXPR to a different complex type, ensure
3957 c_save_expr is called instead of save_expr, unless in_late_binary_op.
3958 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
3959 when converting COMPLEX_TYPE.
3960
3961 2011-01-06 Ira Rosen <irar@il.ibm.com>
3962
3963 PR tree-optimization/47139
3964 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
3965 only the last reduction value is used outside the loop. Update
3966 documentation.
3967
3968 2011-01-05 Joseph Myers <joseph@codesourcery.com>
3969
3970 * config/rtems.opt: New.
3971 * config.gcc (*-*-rtems*): Use rtems.opt.
3972
3973 2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
3974
3975 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
3976 processors do not support 3DNow instructions.
3977
3978 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3979
3980 * config/spu/spu.c (spu_option_override): Set parameter
3981 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
3982
3983 2011-01-05 Jan Hubicka <jh@suse.cz>
3984
3985 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
3986 at the command line.
3987
3988 2011-01-05 Martin Jambor <mjambor@suse.cz>
3989
3990 PR lto/47162
3991 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
3992 deltas on streamed outgoing edges.
3993 (output_node_opt_summary): Output info for outgoing edges only when
3994 the node is in new parameter set.
3995 (output_cgraph_opt_summary): New parameter set, passed to the two
3996 aforementioned functions. Update its forward declaration and its
3997 callee too.
3998
3999 2011-01-05 Tom Tromey <tromey@redhat.com>
4000
4001 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
4002 operator to c_finish_omp_atomic.
4003 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
4004 (build_unary_op): Update.
4005 (build_modify_expr): Update.
4006 (build_asm_expr): Update.
4007
4008 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4009
4010 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
4011 newly inserted insns.
4012 (pad_bb): Likewise.
4013 (spu_emit_branch_hint): Likewise.
4014 (insert_hbrp_for_ilb_runout): Likewise.
4015 (spu_machine_dependent_reorg): Call df_finish_pass after
4016 schedule_insns returns.
4017
4018 2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4019
4020 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
4021
4022 2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
4023
4024 PR tree-optimization/47005
4025 * tree-sra.c (struct access): Add 'non_addressable' bit.
4026 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
4027 (decide_one_param_reduction): Return 0 if the parameter is passed by
4028 reference and one of the accesses in the group is non_addressable.
4029
4030 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
4031
4032 PR tree-optimization/47056
4033 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
4034 (mark_load): Likewise. Handle FUNCTION_DECL specially.
4035 (mark_store): Likewise. Pass STMT to ipa_record_reference.
4036
4037 2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
4038
4039 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
4040 initializer. Skip view conversions from aggregate types.
4041
4042 2011-01-04 Kai Tietz <kai.tietz@onevision.com>
4043
4044 PR bootstrap/47055
4045 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
4046
4047 2011-01-04 Philipp Thomas <pth@suse.de>
4048
4049 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
4050 obvious typo.
4051
4052 2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4053
4054 * function.c (thread_prologue_and_epilogue_insns): Do not crash
4055 on empty epilogue sequences.
4056
4057 2011-01-04 Joseph Myers <joseph@codesourcery.com>
4058
4059 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
4060 non-static): New Driver options.
4061
4062 2011-01-04 Jie Zhang <jie@codesourcery.com>
4063
4064 PR driver/47137
4065 * gcc.c (default_compilers[]): Set combinable field to 0
4066 for all assembly languages.
4067
4068 2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
4069
4070 * config/mips/loongson3a.md: New file.
4071 * config/mips/mips.md: Include loongson3a.md.
4072 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
4073 TUNE_LOONGSON_3A.
4074
4075 2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
4076
4077 PR middle-end/47017
4078 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
4079 instead of convert_memory_address_addr_space on the base expression.
4080
4081 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4082
4083 * config/spu/spu.c (spu_option_override): Update error text
4084 for bad -march= / -mtune= values.
4085
4086 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4087
4088 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
4089 if branch-hint optimization will be performed.
4090
4091 2011-01-03 Jakub Jelinek <jakub@redhat.com>
4092
4093 PR tree-optimization/47148
4094 * ipa-split.c (split_function): Convert arguments to
4095 DECL_ARG_TYPE if possible.
4096
4097 PR tree-optimization/47155
4098 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
4099 when computing uns.
4100
4101 PR rtl-optimization/47157
4102 * combine.c (try_combine): If undobuf.other_insn becomes
4103 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
4104 and set *new_direct_jump_p too.
4105
4106 2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
4107
4108 PR tree-optimization/47021
4109 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
4110
4111 2011-01-03 Jakub Jelinek <jakub@redhat.com>
4112
4113 * gcc.c (process_command): Update copyright notice dates.
4114 * gcov.c (print_version): Likewise.
4115 * gcov-dump.c (print_version): Likewise.
4116 * mips-tfile.c (main): Likewise.
4117 * mips-tdump.c (main): Likewise.
4118
4119 2011-01-03 Martin Jambor <mjambor@suse.cz>
4120
4121 PR tree-optimization/46801
4122 * tree-sra.c (type_internals_preclude_sra_p): Check whether
4123 aggregate fields start at byte boundary instead of the bit-field flag.
4124
4125 2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
4126
4127 PR driver/47137
4128 * gcc.c (main): Revert revision 168407.
4129
4130 2011-01-03 Martin Jambor <mjambor@suse.cz>
4131
4132 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
4133
4134 2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4135
4136 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
4137 vector optab to expand vector/scalar shift, update gimple to vector.
4138
4139 2011-01-03 Martin Jambor <mjambor@suse.cz>
4140
4141 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
4142 a thunk.
4143
4144 2011-01-03 Martin Jambor <mjambor@suse.cz>
4145
4146 PR tree-optimization/46984
4147 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
4148 HOST_WIDE_INT.
4149 (cgraph_create_indirect_edge): Fixed line length.
4150 (cgraph_indirect_call_info): Declare.
4151 (cgraph_make_edge_direct) Update declaration.
4152 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
4153 (cgraph_create_indirect_edge): Use it.
4154 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
4155 callees.
4156 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
4157 the new thunk_delta representation.
4158 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
4159 HOST_WIDE_INT.
4160 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
4161 (ipa_read_indirect_edge_info): Likewise.
4162 * lto-cgraph.c (output_edge_opt_summary): New function.
4163 (output_node_opt_summary): Call it on all outgoing edges.
4164 (input_edge_opt_summary): New function.
4165 (input_node_opt_summary): Call it on all outgoing edges.
4166
4167 2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
4168
4169 PR driver/47137
4170 * gcc.c (main): Don't check have_o when settting combine_inputs.
4171
4172 2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
4173
4174 * regrename.c: Add general comment describing the pass.
4175 (struct du_head): Remove 'length' field.
4176 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
4177 (regrename_optimize): Do not sort chains. Rework comments, add others.
4178 Force renaming to the preferred class (if any) in the first pass and do
4179 not consider registers that belong to it in the second pass.
4180 (create_new_chain): Do not set 'length' field.
4181 (scan_rtx_reg): Likewise.
4182
4183 2011-01-02 Jakub Jelinek <jakub@redhat.com>
4184
4185 PR tree-optimization/47140
4186 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
4187 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
4188 to bit_value_binop.
4189
4190 PR rtl-optimization/47028
4191 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
4192 parm_birth_insn instead of at the beginning of first bb.
4193
4194 2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
4195
4196 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
4197 Remove the word "see" before "@pxref".
4198 * doc/rtl.texi: Remove the word "see" before "@pxref".
4199
4200 2011-01-01 Jan Hubicka <jh@suse.cz>
4201
4202 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
4203 memory.
4204
4205 2011-01-01 Kai Tietz <kai.tietz@onevision.com>
4206
4207 PR target/38662
4208 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
4209
4210 \f
4211 Copyright (C) 2011 Free Software Foundation, Inc.
4212
4213 Copying and distribution of this file, with or without modification,
4214 are permitted in any medium without royalty provided the copyright
4215 notice and this notice are preserved.