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