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