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