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