]>
Commit | Line | Data |
---|---|---|
0d74d20f MH |
1 | 2000-03-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
2 | ||
3 | * config/c4x/c4x.h (CPP_SPEC): Remove erroneous space. | |
4 | ||
194c7c45 RH |
5 | 2000-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 |
15 | 2000-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 |
20 | 2000-03-24 Richard Henderson <rth@cygnus.com> |
21 | ||
22 | * builtins.c (expand_builtin_bzero): Convert `length' argument | |
23 | to sizetype. | |
24 | ||
7d167afd JJ |
25 | 2000-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 |
70 | Fri 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 |
75 | 2000-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 |
85 | 2000-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 |
91 | 2000-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 |
98 | 2000-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 |
102 | Thu 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 |
107 | 2000-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 |
116 | Thu 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 |
122 | Thu 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 |
127 | 2000-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 |
137 | 2000-03-22 Richard Henderson <rth@cygnus.com> |
138 | ||
139 | * stmt.c (expand_asm_operands): Don't promote the temporary. | |
140 | ||
2f939d94 TP |
141 | 2000-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 |
158 | 2000-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 |
186 | 2000-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 |
196 | 2000-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 |
201 | 2000-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 |
206 | 2000-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 |
211 | 2000-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 |
216 | Wed 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 |
220 | 2000-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 |
226 | 2000-03-21 Richard Henderson <rth@cygnus.com> |
227 | ||
228 | * flow.c (delete_block): Fix typo last change. | |
229 | ||
b8de2d02 MM |
230 | 2000-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 |
235 | 2000-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 |
243 | 2000-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 |
272 | 2000-03-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
273 | ||
274 | * config/c4x/rtems.h: Include config/rtems.h. | |
275 | ||
8053f393 DC |
276 | Tue 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 |
281 | Mon 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 |
291 | 2000-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 |
307 | 2000-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 |
314 | 2000-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 |
322 | 2000-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 |
329 | 2000-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 |