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