OSDN Git Service

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