OSDN Git Service

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