1 2005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3 * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
5 2005-01-06 Roger Sayle <roger@eyesopen.com>
8 * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
9 and %{.S:...} (and their negative variants) to test whether the
10 input file is assembler or pre-processed-assembler independent of
11 the actual filename extension.
13 2005-01-06 Roger Sayle <roger@eyesopen.com>
15 * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
16 of sign or zero extended values.
18 2005-01-06 Geoffrey Keating <geoffk@apple.com>
20 * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
21 for IBM long double format correctly.
23 2005-01-06 Daniel Berlin <dberlin@dberlin.org>
25 Fix PR tree-optimization/18792
27 * tree-data-ref.c (build_classic_dist_vector): Change first_loop
28 to first_loop_depth, and use loop depth instead of loop number.
29 (build_classic_dir_vector): Ditto.
30 (compute_data_dependences_for_loop): Use depth, not loop number.
31 * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
32 number. Pass in loops, instead of loop numbers.
33 (gather_interchange_stats): Ditto.
34 (linear_transform_loops): Ditto.
36 2005-01-06 Richard Sandiford <rsandifo@redhat.com>
39 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
40 biv_fits_mode_p, extension_within_bounds_p): New functions.
41 (check_ext_dependent_givs): Use them.
43 2005-01-06 Roger Sayle <roger@eyesopen.com>
45 * cfgrtl.c (rtl_delete_block): A basic block may be followed by
46 more than one barrier, in which case we should delete them all.
48 2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
50 * gcc.c (process_command): Change year in 'gcc --version' to 2005.
52 2005-01-05 Daniel Berlin <dberlin@dberlin.org>
54 Fix PR middle-end/19286
56 * dwarf2out.c (gen_subprogram_die): If we've already tried to
57 output this subprogram, simply ignore this attempt to do it again.
58 (add_abstract_origin_attribute): Don't abort trying to add the abstract
59 origin attribute if it's not possible.
60 (gen_block_die): Don't ignore subblocks of "unused" blocks.
61 (decls_for_scope): Ditto.
62 * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
63 (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
65 2005-01-05 Richard Henderson <rth@redhat.com>
68 * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
70 (ix86_expand_binop_builtin): Force operands into registers
72 (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
73 ix86_expand_sse_compare, ix86_expand_sse_comi,
74 ix86_expand_builtin): Likewise.
76 2005-01-05 Richard Henderson <rth@redhat.com>
78 * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
80 * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
81 (mulv4hi3): Set itanium_class mmmul.
82 (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
83 (fpack): Rename from fpack_sfsf.
85 2005-01-05 Richard Henderson <rth@redhat.com>
88 * reload1.c (do_input_reload): Restrict the optimization deleteing
89 a previous output reload to RELOAD_FOR_INPUT.
91 2005-01-05 Steven Bosscher <stevenb@suse.de>
93 * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add
94 comment that we fall through after case.
95 (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
96 (distribute_links): Likewise.
97 * cse.c (cse_insn): Likewise.
98 * cselib.c (cselib_invalidate_mem): Likewise.
99 * df.c: Update comments at the top of the file.
100 (read_modify_subreg_p): Update comments here too.
101 (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
102 * flow.c (mark_set_1): Likewise.
103 (mark_used_regs): Likewise.
104 * gcse.c (mems_conflict_for_gcse_p): Likewise.
105 (canon_list_insert): Likewise.
106 (mark_set): Likewise.
107 (try_replace_reg): Likewise.
108 (store_killed_in_insn): Likewise.
109 * loop.c (count_one_set): Likewise.
110 (basic_induction_var): Likewise.
111 * postreload-gcse.c (find_mem_conflicts): Likewise.
112 * postreload.c (reload_combine_note_store): Likewise.
113 (move2add_note_store): Likewise.
114 * reload.c (find_equiv_reg): Likewise.
115 (mark_referenced_resources): Likewise.
116 * rtlanal.c (set_noop_p): Likewise.
117 (note_stores): Likewise.
118 (note_uses): Likewise.
119 * sched-deps.c (sched_analyze_1): Likewise.
120 * sched-rgn.c (check_live_1): Likewise.
121 (update_live_1): Likewise.
122 * config/i860/i860.c: Likewise.
124 * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
126 (ZERO_EXTRACT): Mention that this one can be an lvalue.
128 * doc/rtl.texi: Update documentation for bit-fields and SET.
130 2005-01-05 Roger Sayle <roger@eyesopen.com>
132 * ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
134 2005-01-05 Jan Hubicka <jh@suse.cz>
135 Richard Henderson <rth@redhat.com>
138 * config/i386/i386.c (ix86_expand_move): Handle tls symbols
141 2005-01-05 Richard Henderson <rth@redhat.com>
144 * config/i386/i386.md (sse_movhps, sse_movlps): Remove.
145 (sse_shufps): Change operand 3 to const_int_operand.
146 (sse2_storelps): Fix typo in template.
147 (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
148 * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
149 (ix86_expand_builtin): Likewise.
151 2005-01-05 Julian Brown <julian@codesourcery.com>
153 * config/arm/arm.c (arm_return_in_memory): Treat complex types
154 as aggregates for AAPCS ABIs.
156 2005-01-05 Stan Shebs <shebs@apple.com>
158 * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
159 Mach-O getters if ppc64.
160 * config/darwin.c (darwin_asm_output_dwarf_delta): Obey
162 * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
163 signed four-byte field for global code case.
164 (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
166 2005-01-05 Roger Sayle <roger@eyesopen.com>
169 * c-common.c: Include real.h.
170 (c_common_truthvalue_conversion): Avoid destructively modifying expr.
171 Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
172 Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
173 * Makefile.in (c-common.o): Update dependencies.
175 2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
177 * c-parse.in (asm_string): Add trailing semicolon.
179 2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
181 * c-parse.in (asm_string): New. Don't allow wide strings in
183 (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
184 asm_string instead of STRING.
186 2005-01-05 Joseph S. Myers <joseph@codesourcery.com>
188 * c-typeck.c (constructor_no_implicit): Remove.
189 (set_designator, process_init_element): Don't check
190 constructor_no_implicit.
192 2005-01-05 J"orn Rennecke <joern.rennecke@st.com>
193 Kaz Kojima <kkojima@gcc.gnu.org>
196 * lcm.c (create_pre_exit): New.
197 (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
198 ENTRY_EXIT_EXTRA to 3. Use create_pre_exit.
200 2004-01-05 Richard Earnshaw <rearnsha@arm.com>
202 * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
203 -msoft-float in target_float_switch.
204 * arm.c (arm_override_options): Fix processing of target_float_switch.
206 2004-01-05 Richard Earnshaw <rearnsha@arm.com>
208 * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
211 2004-01-05 Uros Bizjak <uros@kss-loka.si>
213 * doc/invoke.texi (Intel 386 and AMD x86-64 Options):
214 Replace i387 with 'i386 compiler' in -mfpmath=sse option.
216 2005-01-04 Roger Sayle <roger@eyesopen.com>
218 * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
219 if deleting the then-block allows the test-block to fallthru to the
222 2005-01-04 Andrew Pinski <pinskia@physics.uc.edu>
225 * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
226 after the full declaration if the are in two different TUs.
228 2005-01-04 Richard Henderson <rth@redhat.com>
231 * tree-sra.c (generate_one_element_init): Just
232 call gimplify_and_add.
233 (generate_element_init): Record the
234 new referenced variables and mark them for renaming
236 (generate_element_init_1): This.
237 (scalarize_init): Don't call push_gimplify_context/
238 pop_gimplify_context.
240 2005-01-04 Geoffrey Keating <geoffk@apple.com>
242 * toplev.c (get_src_pwd): Handle failure of getpwd().
244 2005-01-04 Roger Sayle <roger@eyesopen.com>
246 * fold-const.c (fold_single_bit_test): Delete unreachable handling
248 (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
249 all the cases handled by it are inverted by invert_truthvalue.
251 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
253 * config/sparc/sparc.md (save_register_windowdi): Add missing mode.
254 (save_register_windowsi): Likewise.
256 2005-01-04 Richard Henderson <rth@redhat.com>
258 * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
260 2005-01-04 Uros Bizjak <uros@kss-loka.si>
263 * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
264 any simplifications of vector mode comparison operators.
265 * simplify-rtx.c (simplify_relational_operation): Fix variable name.
267 2005-01-04 Paolo Bonzini <bonzini@gnu.org>
268 Devang Patel <dpatel@apple.com>
270 PR tree-optimization/18308
271 * tree-if-conv.c (add_to_dst_predicate_list): Gimplify
272 the operands before creating a new expression.
273 * dojump.c (do_jump): Make drop_through_label available
274 for all cases. Add expansion of COND_EXPR.
276 2005-01-04 Ira Rosen <irar@il.ibm.com>
278 * tree-vectorizer.c (vect_analyze_offset_expr): Test for
279 INTEGER_CST instead of TREE_CONSTANT.
280 (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
281 instead of TREE_CONSTANT.
282 (vect_analyze_pointer_ref_access): Test for INTEGER_CST
283 instead of TREE_CONSTANT.
285 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr>
287 * tree-eh.c (replace_goto_queue): Return early if the queue is empty.
289 2005-01-04 Uros Bizjak <uros@kss-loka.si>
292 * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
293 (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
295 2005-01-03 Richard Henderson <rth@redhat.com>
297 * fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
298 (fold_convert_const_int_from_int, fold_convert_const_int_from_real,
299 fold_convert_const_real_from_real): Split out from ...
300 (fold_convert_const): ... here.
302 2005-01-03 Richard Henderson <rth@redhat.com>
305 * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
306 (mov<MMXMODEI>_internal): Likewise.
307 (movdf_nointeger): Prefer Y while not preferring, but allowing, x.
308 Add V2SF case; use it for SSE1; don't use TI.
309 (movdf_integer): Likewise.
310 (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
312 2005-01-03 Ira Rosen <irar@il.ibm.com>
314 * tree-vectorizer.c (vect_strip_conversions): New function.
315 (vect_analyze_offset_expr): Call vect_strip_conversions. Add
316 check for binary class.
318 2005-01-03 Daniel Berlin <dberlin@dberlin.org>
322 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
324 * gimple-low.c (mark_blocks_with_used_vars): New function.
325 (mark_blocks_with_used_subblocks): Ditto.
326 (mark_used_blocks): Ditto.
327 (pass_mark_used_blocks): New pass.
328 * tree-inline.c: Include debug.h.
329 (expand_call_inline): Call outlining_inline_function here.
330 * tree-optimize.c (init_tree_optimization_passes): Add
331 pass_mark_used_blocks.
332 * tree-pass.h (pass_mark_used_blocks): New.
333 * Makefile.in (tree-inline.o): Add debug.h dependency.
335 2005-01-03 Geoffrey Keating <geoffk@apple.com>
337 * config/darwin.c (darwin_handle_weak_import_attribute): Permit
338 VAR_DECLs to have weak_import attribute.
340 * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
343 2004-01-03 Steven Bosscher <stevenb@suse.de>
345 * passes.c (rest_of_compilation): Don't run regmove if only
346 flag_expensive_optimizations, require flag_regmove instead.
348 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
350 * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
352 * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
353 * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
354 * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
355 * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
357 2005-01-03 Richard Henderson <rth@redhat.com>
359 * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
360 (ia64_const_ok_for_letter_p): New.
361 (ia64_const_double_ok_for_letter_p): New.
362 (ia64_extra_constraint): New.
363 (ia64_expand_vecint_compare): New.
364 (ia64_expand_vcondu_v2si): New.
365 (ia64_expand_vecint_cmov): New.
366 (ia64_expand_vecint_minmax): New.
367 (ia64_print_operand): Add 'v'.
368 (ia64_preferred_reload_class): New.
369 (ia64_vector_mode_supported_p): New.
370 * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
371 (PREFERRED_RELOAD_CLASS): Move to function.
372 (CONST_OK_FOR_LETTER_P): Move to function.
373 (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
374 (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
375 (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
376 (EXTRA_CONSTRAINT): Move to function.
377 * config/ia64/ia64.md: Include vect.md.
378 (itanium_class): Add mmalua.
380 * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses.
382 * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
383 * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
385 (const_int_2bit_operand): New.
386 (fr_reg_or_0_operand): New.
387 * config/ia64/ia64-modes.def: Add vector modes.
388 * config/ia64/ia64-protos.h: Update.
389 * config/ia64/vect.md: New file.
391 2005-01-03 Richard Henderson <rth@redhat.com>
393 * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
395 2005-01-03 Uros Bizjak <uros@kss-loka.si>
398 * config/i386/i386.c (log1psf2): Change mode of operands[0,1]
400 (log1pdf2): Change mode of operands[0,1] to DFmode.
402 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr>
404 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
405 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
406 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
407 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
408 SPARC_RELAXED_ORDERING.
410 2005-01-03 Richard Henderson <rth@redhat.com>
411 Uros Bizjak <uros@kss-loka.si>
414 * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
415 IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
416 * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
418 (*mmx_pinsrw, *sse2_pinsrw): New patterns.
419 * config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
420 const_pow2_1_to_128_operand): New predicates.
422 2005-01-02 Greg McGary <greg@mcgary.org>
424 * tree-mudflap.c (mf_varname_tree): decl_printable_name handles
426 (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
427 object. [ptr_type]: Remove unused variable.
428 Remember nearest addressable array-element or record-component
429 when checking bitfield components. Tolerate empty BIND_EXPR.
431 2005-01-01 Richard Henderson <rth@redhat.com>
433 * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
434 that don't narrow the value. Fail for other conversions.
436 2005-01-01 Richard Henderson <rth@redhat.com>
439 * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
440 * c-lang.c (finish_file): Don't do it here.
441 * objc/objc-act.c (objc_finish_file): Likewise.
443 * cgraph.c (decl_assembler_name_equal): New.
444 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
445 (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
446 * cgraph.h (struct cgraph_varpool_node): Add next.
447 (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
448 * varasm.c (assemble_alias): Mark the target as needed.
450 2005-01-01 Andrew Pinski <pinskia@physics.uc.edu>
453 * function.c (get_arg_pointer_save_area): Use entry_of_function
454 instead of get_insns.
456 2005-01-01 Roger Sayle <roger@eyesopen.com>
457 Andrew Pinski <pinskia@physics.uc.edu>
458 James E. Wilson <wilson@specifixinc.com>
460 PR rtl-optimization/12092
461 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
464 2005-01-01 Roger Sayle <roger@eyesopen.com>
465 Olivier Hainque <hainque@act-europe.fr>
467 * tree.c (int_fits_type_p): A narrower type always fits in a
468 wider one, except for negative values into unsigned types.
470 2005-01-01 Roger Sayle <roger@eyesopen.com>
472 * tree.c (int_fits_type_p): Compare the result of force_fit_type
473 with the original constant rather than require TREE_OVERFLOW.
475 2005-01-01 Steven Bosscher <stevenb@suse.de>
478 * c-decl.c (finish_function): If compiling C99, annotate the
479 compiler generated return with the current file name and line 0.
480 * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
481 the source line is greater than 0.
482 (remove_bb): Likewise.
484 See ChangeLog.12 for earlier changes.