]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
[gcc.git] / gcc / ChangeLog
CommitLineData
0d74d20f
MH
12000-03-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2
3 * config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
4
194c7c45
RH
52000-03-24 Richard Henderson <rth@cygnus.com>
6
7 * tree.c (lang_safe_for_unsave): Remove.
8 (unsafe_for_reeval): Transmute and rename from safe_for_unsave,
9 allowing for two levels of unsafeness. Remove lang hook.
10 * tree.h: Update declarations.
11 * calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
12 Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
13 Always fail sibcalls when there are pending cleanups.
14
02ce8f4e
GK
152000-03-24 Geoff Keating <geoffk@cygnus.com>
16
17 * flow.c (propagate_block): When we delete an ADDR_VEC,
18 also delete the BARRIER following it if there is one.
19
3477addf
RH
202000-03-24 Richard Henderson <rth@cygnus.com>
21
22 * builtins.c (expand_builtin_bzero): Convert `length' argument
23 to sizetype.
24
7d167afd
JJ
252000-03-24 Jakub Jelinek <jakub@redhat.com>
26
27 * sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
28 comparison if regno's are equal.
29 * calls.c (initialize_argument_informat): Add ecf_flags argument.
30 Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
31 (expand_call): Update caller.
32 Avoid making a sibling call if argument size of the callee is larger
33 than argument size of the caller.
34 Call hard_function_value with outgoing set if in sibcall pass.
35 Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
36
37 * final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
38 Change LEAF_REGISTERS from an array initializer to actual array
39 identifier. Move static global variable into the function.
40 (leaf_function_p): Allow SIBLING_CALL_P calls even outside of
41 sequences for leaf functions.
42 * global.c (global_alloc): Likewise.
43 * tm.texi (LEAF_REGISTERS): Update documentation.
44
45 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
46 TARGET_FLAT leaf disabling hack.
47 (LEAF_REGISTERS): Changed from an array initializer to actual array
48 identifier to avoid duplication and remove the above hack.
49 (FUNCTION_OK_FOR_SIBCALL): Define.
50 * config/sparc/sparc.md (sibcall): New attr type. Use it almost
51 always like call attribute.
52 (eligible_for_sibcall_delay): New attribute.
53 (sibcall): New delay type.
54 (sibcall, sibcall_value, sibcall_epilogue): New expands.
55 (sibcall_symbolic_sp32, sibcall_symbolic_sp64,
56 sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
57 * config/sparc/sparc.c (sparc_leaf_regs): New array.
58 (eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
59 New functions.
60 (output_function_epilogue): Move part of the code into
61 output_restore_regs.
62 (ultra_code_from_mask, ultrasparc_sched_reorder): Handle
63 TYPE_SIBCALL.
64 * sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
65 prototypes.
66
46238b7d
JJ
67 * config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
68 until infrastructure is finished.
69
eef9a168
JL
70Fri Mar 24 13:49:45 2000 Jeffrey A Law (law@cygnus.com)
71
72 * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
73 (save_parm_insns): Not here.
74
e3a709be
KG
752000-03-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
76
77 * builtins.c (expand_builtin_bzero): New function.
78 (expand_builtin): Handle bzero.
79
80 * builtins.def: Add BUILT_IN_BZERO.
81
82 * c-common.c (c_common_nodes_and_builtins): Provide builtin
83 prototype & function for bzero.
84
265ae617
MM
852000-03-23 Michael Meissner <meissner@redhat.com>
86
87 * config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21
88 change adding TARGET_FP to the TF floating point insns, except for
89 trunctfsf2, which generates direct calls to truncdfsf2.
90
1751425f
GK
912000-03-23 Geoff Keating <geoffk@cygnus.com>
92
93 * config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
94 try to protect against middle-end changes that break binary
95 compatibility.
96 (DWARF_FRAME_REGISTERS): New definition, likewise for backend.
97
cf92d7df
MH
982000-03-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
99
100 * config/c4x/c4x.md (load_immed_address): Add DP reg clobber.
101
25a1fcb4
RK
102Thu Mar 23 17:10:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
103
104 * calls.c (expand_call): If TARGET is passed by reference and
105 is readonly, write a CLOBBER.
106
4b2a62db
KG
1072000-03-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
108
109 * builtins.c (expand_builtin): Handle bcmp.
110
111 * builtins.def: Add BUILT_IN_BCMP.
112
113 * c-common.c (c_common_nodes_and_builtins): Provide builtin
114 prototype & function for bcmp.
115
d4daa0b4
JW
116Thu Mar 23 11:34:39 2000 Jim Wilson <wilson@cygnus.com>
117
118 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
119 (rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
120 * config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
121
fc5b7cda
AH
122Thu Mar 23 16:04:40 2000 Andrew Haley <aph@cygnus.com>
123
124 * config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
125 alternative when using -fp64 -gp32.
126
8034da37
JM
1272000-03-22 Jason Merrill <jason@casey.cygnus.com>
128
129 * config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
130 * config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
131 * config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
132
133 * frame.h (frame_state): Revert last change.
134 * frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
135 * libgcc2.c (throw_helper): Revert last change.
136
17e71da2
RH
1372000-03-22 Richard Henderson <rth@cygnus.com>
138
139 * stmt.c (expand_asm_operands): Don't promote the temporary.
140
2f939d94
TP
1412000-03-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
142
143 * builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
144 * c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
145 c_get_alias_set): Likewise.
146 * c-decl.c (duplicate_decls): Likewise.
147 * c-typeck.c (default_conversion,build_unary_op): Likewise.
148 * calls.c (initialize_argument_information): Likewise.
149 * dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
150 Likewise.
151 * dwarfout.c (decl_class_context,output_type): Likewise.
152 * expr.c (get_inner_reference): Likewise.
153 * fold-const.c (simple_operand_p,fold): Likewise.
154 * function.c (aggregate_value_p): Likewise.
155 * stmt.c (expand_asm_operands): Likewise.
156 * varasm.c (named_section): Likewise.
157
2c849145
JM
1582000-03-22 Jason Merrill <jason@casey.cygnus.com>
159
2c849145
JM
160 Implement dwarf2 exception handling for the ARM.
161 * config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
162 (DWARF_FRAME_RETURN_COLUMN): Define.
163 * config/arm/arm.c (emit_multi_reg_push): Return rtx. Attach
164 REG_FRAME_RELATED_EXPR note.
165 (emit_sfm): Likewise.
166 (arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
167 * dwarf2out.c (reg_save): Handle saving a register to itself.
168 (dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
169 * except.c (eh_regs): Don't use the static chain reg if it's
170 callee-saved.
171 * frame.h (frame_state): Add cfa_saved field.
172 * frame.c (execute_cfa_insn): Set it.
173 * libgcc2.c (throw_helper): Don't adjust sp if it's restored in
174 the epilogue.
175 * function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
176 Now takes a parm.
177 (instantiate_virtual_regs): Adjust.
178 * tm.texi: Adjust.
179 * config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
180 * config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
181 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
182
183 * dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
184 (initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
185
cb1072f4
KG
1862000-03-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
187
188 * builtins.def: New file.
189
190 * Makefile.in (TREE_H): Depend on builtins.def.
191
192 * builtins.c (built_in_names): Use builtins.def.
193
194 * tree.h (built_in_function): Likewise.
195
dc397323
MM
1962000-03-22 Mark Mitchell <mark@codesourcery.com>
197
198 * tree.c (size_in_bytes): Return size_zero_node, not
199 integer_zero_node.
200
fae8209a
GK
2012000-03-22 Geoff Keating <geoffk@cygnus.com>
202
203 * config/fp-bit.c (pack_d): Correct the case when a denormal
204 is rounded up and stops being denormal.
205
ea2e5dbe
RH
2062000-03-21 Richard Henderson <rth@cygnus.com>
207
208 * config/alpha/alpha.c (function_arg): Check for void_type_node
209 before using MUST_PASS_IN_STACK.
210
5d64361b
SC
2112000-03-21 Stephane Carrez <stcarrez@worldnet.fr>
212
213 * regmove.c (combine_stack_adjustments_for_block): Check that
214 the stack pointer is a valid memory address.
215
de76b467
JH
216Wed Mar 22 11:44:50 MET 2000 Jan Hubicka <jh@suse.cz>
217
218 * calls.c: re-install Mar 16 emit_library_call merge.
219
021e2ecc
JJ
2202000-03-21 Jakub Jelinek <jakub@redhat.com>
221
222 * config/sparc/sparc.c (mem_min_alignment): If not optimizing,
223 we cannot be sure that if reload_completed base register will
224 be properly aligned.
225
1fa4609a
RH
2262000-03-21 Richard Henderson <rth@cygnus.com>
227
228 * flow.c (delete_block): Fix typo last change.
229
b8de2d02
MM
2302000-03-21 Mark Mitchell <mark@codesourcery.com>
231
232 * c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
233 not COMPLETE_TYPE_P, to check the type of the expression.
234
4287843d
MM
2352000-03-21 Michael Meissner <meissner@redhat.com>
236
237 * config/alpha/alpha.md (floating point insns): Add TARGET_FP to
238 all floating point insns that just tested the macro
239 TARGET_HAS_XFLOATING_LIBS.
240 (movsf/movdf recognizers): Add separate insns if -mno-fp-regs is
241 used to only use the gprs.
242
d0f062fb
NS
2432000-03-21 Nathan Sidwell <nathan@codesourcery.com>
244
245 * tree.h (COMPLETE_TYPE_P): New macro.
246 (COMPLETE_OR_VOID_TYPE_P): New macro.
247 (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
248 * stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
249 * c-aux-info.c (gen_type): Use them.
250 * c-common.c (c_expand_expr_stmt): Likewise.
251 * c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
252 grokdeclarator, grokparms, finish_struct, start_function,
253 store_parm_decls, combine_parm_decls): Likewise.
254 * c-parse.y (cast_expr): Likewise.
255 * c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
256 c_size_in_bytes, c_alignof, build_component_ref,
257 build_indirect_ref, build_array_ref, convert_arguments,
258 build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
259 * calls.c (initialize_argument_information): Likewise.
260 * convert.c (convert_to_integer): Likewise.
261 * dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
262 * dwarfout.c (location_or_const_value_attribute,
263 output_enumeration_type_die, output_structure_type_die,
264 output_union_type_die, output_type): Likewise.
265 * expr.c (safe_from_p, expand_expr): Likewise.
266 * function.c (assign_parms): Likewise.
267 * sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
268 * tree.c (build_array_type, build_function_type,
269 build_method_type, build_offset_type, build_complex_type): Likewise.
270 * c-parse.c, c-parse.h: Regenerated.
271
7d6e6314
MH
2722000-03-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
273
274 * config/c4x/rtems.h: Include config/rtems.h.
275
8053f393
DC
276Tue Mar 21 09:24:00 2000 Denis Chertykov <denisc@overta.ru>
277
278 * config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
279 decl is a FUNCTION_DECL
280
1ff5b671
JW
281Mon Mar 20 19:53:53 2000 Jim Wilson <wilson@cygnus.com>
282
283 * config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf
284 function uses output registers. Don't save RP for leaf functions.
285 Do save RP even if no epilogue.
286 * config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers.
287 (CALL_USED_REGISTERS): Unmark in registers.
288 (REG_ALLOC_ORDER): Move out regs up, to near the top. Move in regs up,
289 to near the middle.
290
1c882ea4
GK
2912000-03-20 Geoff Keating <geoffk@cygnus.com>
292
293 * config/rs6000/rs6000.md (bunordered): New expander.
294 (bordered): New expander.
295 (buneq): New expander.
296 (bunge): New expander.
297 (bungt): New expander.
298 (bunle): New expander.
299 (bunlt): New expander.
300 (bltgt): New expander.
301
302 * config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons.
303 (ccr_bit_negated_p): New function.
304 (print_operand): For %C, generate appropriate cror for UNEQ,
305 UNLT, UNGT, and LTGT. For %T and %t, use ccr_bit_negated_p.
306
bf5e8d0c
AJ
3072000-03-20 Andreas Jaeger <aj@suse.de>
308
309 * sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else"
310 warning.
311
8c57aea6
AJ
312 * tree.h (safe_for_unsave): Prototype.
313
9e11785b
RH
3142000-03-20 Richard Henderson <rth@cygnus.com>
315
316 * regmove.c (stack_memref_p): Fix typo, reorg for readability.
317 (combine_stack_adjustments_for_block): Don't allow sp references
318 in the side of a set we're not fixing up.
319 * toplev.c (rest_of_compilation): Run combine_stack_adjustments
320 after life_analysis.
321
e245d3af
RH
3222000-03-20 Richard Henderson <rth@cygnus.com>
323
324 * calls.c (expand_call): Don't bother generating tail call
325 sequences if there are pending cleanups. Use
326 expand_start_target_temps/expand_end_target_temps to elide
327 cleanups created during sibcall expansion.
328
1c521d41
GK
3292000-03-20 Geoff Keating <geoffk@cygnus.com>
330
331 * configure.in: Set $IFS to a value if it doesn't already have one
332 in the --enable-checking handling.
333 * configure: Regenerate.
334
949d707d
ML
335