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