]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
dwarf2out.c (gen_enumeration_type_die): If enum has a negative value, don't output...
[gcc.git] / gcc / ChangeLog
CommitLineData
fc9e8a14
JJ
12000-03-29 Jakub Jelinek <jakub@redhat.com>
2
3 * dwarf2out.c (gen_enumeration_type_die): If enum has a negative
4 value, don't output it as unsigned.
5
930b9832
JL
6Wed Mar 29 10:53:49 2000 Jeffrey A Law (law@cygnus.com)
7
8 * stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL.
9
dc1c86cb
KG
102000-03-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11
12 * c-common.c (c_common_nodes_and_builtins): Don't special case
13 cplus_mode when declaring builtin bzero/bcmp, always avoid
14 prototype arguments.
15
a40165e0
BK
162000-03-29 Bruce Korb <bkorb@gnu.org>
17
18 * fixinc/mkfixinc.sh: Initially set the variable "fixincludes"
19 to a non-file
20
f73ad30e
JH
21Wed Mar 29 15:08:01 MET DST 2000 Jan Hubicka <jh@suse.cz>
22
23 Convert ACCUMULATE_OUTGOING_ARGS to an expression.
24 * calls.c (PUSH_ARGS_REVERSED) Change to expression.
25 (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value.
26 (struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS.
27 (save_fixed_argument_area, restore_fixed_argument_area):
28 conditionize by #ifdef REG_PARM_STACK_SPACE only.
29 (emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS
30 to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS.
31 (precompute_register_parameters): Avoid #ifdefs on
32 ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED.
33 (stire_one_args): Likewise.
34 (expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS.
35 (emit_library_call_value_1): Likewise.
36 (compute_argument_block_size): Align to STACK_BOUNDARY only for
37 ACCUMULATE_OUTGOING_ARGS.
38 * combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default
39 value.
40 (nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH.
41 (use_crosses_set_p): Likewise.
42 * all targets (ACCUMULATE_OUTGOING_ARGS define): Change to
43 #define ACCUMULATE_OUTGOING_ARGS 1.
44 * i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS
45 frames.
46 * i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New
47 constants.
48 (TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros.
49 (TARGET_SWITCHES): Add push-args, no-push-args,
50 accumulate-outgoing-args and no-accumulate-outgoing-args.
51 (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro.
52 * expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default.
53 (push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS
54 and PUSH_ROUNDING.
55 (emit_push_insn): Likewise.
56 * final.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
57 (final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS.
58 * function.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
59 (STACK_DYNAMIC_OFFSET): Define correctly for both
60 ACCUMULATE_OUTGOING_ARGS and normal mode.
61 * invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document.
62 * tm.texi (PUSH_ARGS): Document.
63 (ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation.
64
db8cb48e
JH
65Wed Mar 29 11:51:13 MET DST 2000 Jan Hubicka <jh@suse.cz>
66
67 * flags.h (flag_optimize_sibling_calls): Declare.
68 * calls.c (expand_call): Fail sibcall when
69 !flag_optimize_sibling_calls
70 * invoke.texi (flag_optimize_sibling_calls): Document.
71 * toplev.c (flag_optimize_sibling_calls): New global variable.
72 (f_options): Add flag_optimize_sibling_calls.
73 (rest_of_compilation): Conditionize
74 optimize_sibling_and_tail_recursive_calls by
75 flag_optimize_sibling_calls.
76 (main): Set flag_optimize_sibling_calls for -O2.
77 * stmt.c (expand_return): Conditionize tail recursion by
78 flag_optimize_sibling_calls.
79
402eec87
RH
802000-03-29 Richard Henderson <rth@cygnus.com>
81
82 * config/i386/att.h (LOCAL_LABEL_PREFIX): Define.
83 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it.
84
8a4451aa
NS
852000-03-29 Nathan Sidwell <nathan@codesourcery.com>
86
87 * except.c (add_eh_table_entry): Mark type_info's as referenced.
88
d6121128
AO
892000-03-29 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
90
91 * config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi
92 is given.
93 * config/rs6000/aix43.h (CPP_SPEC): Likewise.
94 * config/rs6000/rs6000.h (CPP_SPEC): Moved to...
95 * config/rs6000/aix.h: then modified likewise.
96
f590cca1
RH
972000-03-28 Richard Henderson <rth@cygnus.com>
98
99 * rtl.h: Redistribute enum reg_note documentation.
100 Kill trailing whitespace.
101 * rtl.c (reg_note_name): Adjust to match enum reg_note tweeks.
102 Kill trailing whitespace.
103
29a72a4f
ZW
1042000-03-28 Zack Weinberg <zack@wolery.cumb.org>
105
106 * cppfiles.c (hash_IHASH): Just return i->hash.
107 (cpp_included): Set dummy.hash using _cpp_calc_hash. Use
108 htab_find_with_hash.
109 (cpp_read_file): Likewise.
110 (find_include_file): Likewise. Properly initialize
111 ih->nshort. Share ih->name and ih->nshort if possible.
112 * cpphash.c (_cpp_calc_hash): New function.
113 (hash_HASHNODE): Just return h->hash.
114 (_cpp_lookup): Set dummy.hash using _cpp_calc_hash. Use
115 htab_find_with_hash.
116 * cpphash.h: Prototype _cpp_calc_hash.
117 * cppinit.c (initialize_builtins): Provide a valid hash
118 to _cpp_make_hashnode, using _cpp_calc_hash.
119
120 * cpphash.c (collect_expansion): # is not a special character
121 in object-like macros. In -traditional mode, /**/ is not
122 token paste at the beginning or end of the line.
123 * cpplib.c (do_include, do_import, do_include_next): If
124 parse_include fails, return immediately.
125
46406379
JM
1262000-03-28 Jason Merrill <jason@casey.cygnus.com>
127
128 * config/arm/arm.md (return peepholes): Update to reflect the new
129 call insn patterns.
130 * config/arm/arm.c (arm_volatile_func): Also check
131 current_function_nothrow.
132 (output_return_instruction, output_func_prologue): Use it.
133 (arm_output_epilogue, arm_expand_prologue): Likewise.
134
1f58da7f
TT
1352000-03-27 Tom Tromey <tromey@cygnus.com>
136
137 * gcc.c (handle_braces): In {x*...} case, break out of loop if
138 switch is found.
139
13eb1f7f
RK
140Tue Mar 28 11:55:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
141
142 * expr.c (store_constructor): SIZE now signed.
143 For EXPR_SIZE, don't evaluate size; just needed if constant.
144 * fold-const.c (fold): Fix a number of cases when folded tree is
145 wrong type.
146 * function.c (flush_addressof): Reenable.
147 * tree.h (flush_addressof): Likewise.
148 * toplev.c (independent_decode_option): Look at strings_processed.
149 * config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned.
150
5a97f7c2
JH
151Tue Mar 28 08:29:46 2000 Jan Hubicka <jh@suse.cz>
152
1e9d75e8
JH
153 * sibcall.c (indentify_call_return_value): Find last call in the chain;
154 Allow stack adjustment after function call.
155
5a97f7c2
JH
156 * regmove.c (struct csa_memlist): Make mem field rtx *.
157 (record_one_stack_ref): Accept rtx * instead of rtx as parameter.
158 (try_apply_stack_adjustment): Replace whole MEM rtx.
159 (combine_stack_adjustments_for_block): Update calls
160 to record_one_stack_ref.
161
04e3ec78
NB
1622000-03-28 Neil Booth <NeilB@earthling.net>
163
29a72a4f 164 * cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with
04e3ec78
NB
165 '\\' rather than a null character, so nulls are not special. Fix
166 "\\\n" handling in end-of-buffer conditions. Use trigraph map to
167 speed trigraph conversion.
29a72a4f 168 (_cpp_init_input_buffer): Initialize trigraph map.
04e3ec78 169
e3c2afab
AM
1702000-03-27 Alan Modra <alan@linuxcare.com.au>
171
172 * config/i386/i386.c (output_387_binary_op): Correct intel
173 mode assembly output, and add spaces after commas in AT&T
174 output. Correct Unixware assembler comment. Document input
175 constraints. Comment fp operations. Reduce profligate buffer
176 size. Remove extraneous abort. Localize temp var.
177 (SYSV386_COMPAT): Define. Add !SYSV386_COMPAT code.
178 (output_fix_trunc): Add spaces after commas in assembly output.
179
16189740
RH
1802000-03-27 Richard Henderson <rth@cygnus.com>
181
182 * i386-protos.h (ix86_match_ccmode): Declare.
183 * i386.c (ix86_match_ccmode): New.
184 (ix86_expand_fp_compare): Update for pattern renames.
185 (ix86_expand_strlensi_unroll_1): Likewise.
186 * i386.h (EXTRA_CC_MODES): Add CCZ.
187 (SELECT_CC_MODE): Use it for EQ/NE zero.
188 * i386.md (cmpsi_ccz_1): New.
189 (cmpqi_ccz_1): New.
190 (*testsi_ccz_1): New.
191 (testqi_ccz_1): New.
192 (cmpsi_ccno_1): Rename from cmpsi_0.
193 (testsi_ccno_1): Rename from testsi_1.
194 (testqi_ccno_1): Rename from testqi_1.
195 (*testqi_ext_ccz_0): Rename from testqi_ext_0.
196 (testqi_ext_ccno_0): Rename from *testqi_ext_1.
197 (*cmphi_0): Use ix86_match_ccmode.
198 (*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise.
199 (*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise.
200 (*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise.
201 (*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise.
202 (*iorsi_2, *iorhi_2, *iorqi_2): Likewise.
203 (*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise.
204 (*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise.
205 (*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise.
206 (*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise.
207 (*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise.
208 (appropriate peepholes): Likewise.
209 (*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name.
210 (*subsi_3, *subhi_3, *subqi_3): Remove.
211 (*negdi2_1+1 splitter): Use CCZ for neg patterns.
212 (*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove.
213 (*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ.
214 (*neghi2_cmpz, *negqi2_cmpz): Similarly.
215 (x86_shift_adj_1): Use CCZ.
216 (*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise.
217
73780b74
SC
2182000-03-27 Stan Cox <scox@cygnus.com>
219
220 * resource.h (mark_resource_type): New.
221 * resource.c (find_dead_or_set_registers, mark_target_live_regs,
222 find_free_register): Use mark_resource_type.
223 (mark_set_resources): Change include_delayed_effects
224 to mark_resource_type.
225 * reorg.c (steal_delay_list_from_target, try_merge_delay_insns,
226 redundant_insn, fill_simple_delay_slots, fill_slots_from_thread):
227 Use mark_resource_type.
228
94bb5d0c
RH
2292000-03-27 Richard Henderson <rth@cygnus.com>
230
231 * i386.md (call_pop_0, call_value_pop_0): New.
232 (call_pop_1): Remove constraint from unused arg. Support sibcalls.
233 (call_value_pop_1): Likewise.
234 (call_0, call_value_0): New.
235 (call_1, call_value_1): Remove constraint from unused arg.
236
d630442f
NC
2372000-03-27 Nick Clifton <nickc@cygnus.com>
238
239 * invoke.texi (Spec Files): Document new spec % command created by
240 Tom Tromey's recent patch.
241
32b32c8f
JJ
2422000-03-27 Jakub Jelinek <jakub@redhat.com>
243
244 * libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD
245 if not defined.
246
aa63d244
RK
247Mon Mar 27 06:04:22 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
248
693e30e3
RK
249 * expr.c (expand_assignment): Fix typo in last change.
250
aa63d244
RK
251 * libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD.
252
17aec3eb
RK
253Sun Mar 26 20:15:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
254
255 * c-convert.c (convert): Return if output or input type is ERROR_MARK.
256 * c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
257 and DECL_INLINE if FUNCTION_DECL.
258 (pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
259 (store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
260 Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
261 (combine_parm_decls): Likewise.
262 * ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
263 * print-tree.c (print_node): Likewise.
264 Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
265 DECL_TRANSPARENT_UNION on proper decl types.
266 Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
267 * stor-layout.c (layout_decl): Only check DECL_PACKED and
268 DECL_BIT_FIELD of FIELD_DECL.
269 * tree.h (DECL_RESULT_FLD): New macro.
270
28b98868
RK
271 * expr.c (expand_assignment): Add code to handle variable-sized
272 BLKmode case.
273
b06775f9
RH
2742000-03-26 Richard Henderson <rth@cygnus.com>
275
276 * calls.c (expand_call): Pass parms not original exp to
277 optimize_tail_recursion. Mind return value instead of looking
278 for a barrier.
279 * stmt.c (optimize_tail_recursion): Take parameter list, not entire
280 call_expr. Move checks for call_expr and current_function_decl ...
281 (expand_return): ... here.
282
8097c429
TT
2832000-03-26 Tom Tromey <tromey@cygnus.com>
284
285 * gcc.c (handle_braces): Recognize `%{<S}' construct.
286 (SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New
287 defines.
288 (process_command): Use them.
289 (check_live_switch): Likewise.
290 (give_switch): Skip ignored switches.
291
751b8992
JH
2922000-03-26 Jan Hubicka <jh@suse.cz>
293
294 * jump.c (jump_optimize_1): Fix typo in elide optimizations
295 for minimal jump pass test.
296
f8013343
MM
2972000-03-26 Mark Mitchell <mark@codesourcery.com>
298
299 * integrate.c (function_cannot_inline_p): Do inline functions that
300 return `void'.
301
75131237
RK
302Sun Mar 26 11:37:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
303
ad41cc2a
RK
304 * stor-layout.c (layout_type, set_sizetype): early_type_list is
305 now a list of TREE_LIST entries, not types.
306 * tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
307
75131237
RK
308 * expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
309 * config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and
310 int_bit_position.
311 * config/mips/mips.c (function_arg): Likewise; also remove cast
312 and make variables unsigned or HOST_WIDE_INT and use tree_low_cst.
313 (mips_function_value): Use int_byte_position and make HOST_WIDE_INT.
314 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned.
315 * config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned.
316 (UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise.
317 (POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise.
318 (GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed.
319 (struct mips_arg): arg_number, arg_words, fp_arg_words, and
320 num_adjusts now unsigned.
321 (FUNCTION_ARG_BOUNDARY): Remove unneeded cast.
322 * config/sparc/sparc.c (struct function_arg_record_value_parms):
323 NREGS now unsigned.
324 (function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT
325 as is BITPOS variable; use host_integerp and int_bit_position.
326 (function_arg_record_value_2): Likewise.
327 (function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT.
328 Variable REGNO now unsigned.
329 (function_arg_record_value): NREGS now unsigned.
330
210ee0dd
BS
3312000-03-26 Bernd Schmidt <bernds@cygnus.co.uk>
332
333 * jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs.
334
770ae6cc
RK
335Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
336
337 * Rework fields used to describe positions of bitfields and
338 modify sizes to be unsigned and use HOST_WIDE_INT.
339 * alias.c (reg_known_value_size): Now unsigned.
340 * c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
341 (really_start_incremental_init): Use bitsize_zero_node.
342 (push_init_level, pop_init_level, output_init_element): Likewise.
343 Use bitsize_unit_node and bitsize_one_node.
344 (output_pending_init_elements, process_init_element): Likewise.
345 * combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
346 (make_extraction): Position and length HOST_WIDE_INT and unsigned
347 HOST_WIDE_INT, respectively.
348 (get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
349 (num_sign_bit_copies): Returns unsigned.
350 BITWIDTH now unsigned; rework arithmetic.
351 Remove recursive call from arg to MAX.
352 (combine_instructions, init_reg_last_arrays): NREGS now unsigned.
353 (setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
354 REGNO now unsigned.
355 (set_nonzero_bit_and_sign_copies): NUM now unsigned.
356 (find_split_point, expand_compound_operation, make_extraction): LEN
357 now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
358 (make_field_assignment): Likewise.
359 (combine_simplify_rtx): Add cast.
360 (expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
361 (force_to_mode): WIDTH now unsigned; add cast.
362 (if_then_else_cond): SIZE now unsigned.
363 (nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
364 (extended_count): Now returns unsigned.
365 (simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
366 Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
367 (simplify_comparison): MODE_WIDTH now unsigned.
368 (update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
369 (mark_used_regs_combine): Likewise; rework arithmetic.
370 (record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
371 (record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
372 (record_promoted_value): REGNO now unsigned.
373 (get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
374 (get_last_value): REGNO now unsigned.
375 (use_crosses_set_p): REGNO and ENDREGNO now unsigned.
376 (reg_dead_regno, reg_dead_endregno): Now unsigned.
377 (remove_death): Arg REGNO now unsigned.
378 (move_deaths): REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
379 (reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
380 now unsigned.
381 * convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
382 * cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
383 (struct cse_reg_info): REGNO now unsigned.
384 (cached_regno): Now unsigned.
385 (REGNO_QTY_VALID_P): Add cast.
386 (make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
387 (remove_invalid_regs): Likewise.
388 (remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
389 as are variables END and I.
390 (get_cse_reg_info, insert): Likewise.
391 (mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
392 (canon_hash): Likewise.
393 (insert_regs, lookup_for_remove): REGNO now unsigned.
394 (invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
395 New variable RN.
396 * dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
397 * dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
398 * emit-rtl.c (subreg_realpart_p): Add cast.
399 (operand_subword): Arg I is now unsigned as is var PARTWORDS.
400 (operand_subword_force): Arg I is now unsigned.
401 * except.c (eh_regs): Variable I is now unsigned.
402 * explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
403 * expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
404 length is unsigned HOST_WIDE_INT; likewise for internal variables.
405 (store_split_bit_field, extract_fixed_bit_field): Likewise.
406 (extract_split_bit_field, store_bit_field, extract_bit_field):
407 Likewise.
408 * expr.c (store_constructor_fields, store_constructor, store_field):
409 Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
410 (expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
411 (do_jump): Likewise.
412 (move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
413 MAX_SIZE is now unsigned.
414 (emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
415 (emit_group_store): Likewise.
416 (emit_move_insn): I now unsigned.
417 (store_constructor): Use host_integerp, tree_low_cst, and
418 bitsize_unit_node.
419 (get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
420 Rework all calculations to use trees and new fields.
421 * expr.h (promoted_input_arg): Regno now unsigned.
422 (store_bit_field, extract_bit_field): Adjust types of pos and size.
423 (mark_seen_cases): Arg is HOST_WIDE_INT.
424 * flow.c (verify_wide_reg_1): REGNO now unsigned.
425 * fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
426 precisions and alignments are unsigned.
427 (optimize_bit_field_compare, fold_truthop): Likewise.
428 (int_const_binop): Adjust threshold for size_int_type_wide call.
429 (fold_convert): Likewise.
430 (size_int_type_wide): Make table larger and fix thinko that only
431 had half of table used.
432 (all_ones_mask_p, fold): Precisions are unsigned.
433 * function.c (put_reg_info_stack): REGNO is unsigned.
434 (instantiate_decl): Size is HOST_WIDE_INT.
435 (instantiate_virtual_regs): I is unsigned.
436 (assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
437 (promoted_input_arg): REGNO is unsigned.
438 * function.h (struct function): x_max_parm_reg is now unsigned.
439 * gcse.c (max_gcse_regno): Now unsigned.
440 (struct null_pointer_info): min_reg and max_reg now unsigned.
441 (lookup_set, next_set): REGNO arg now unsigned.
442 (compute_hash_table): REGNO and I now unsigned.
443 (handle_avail_expr): regnum_for_replacing now unsigned.
444 (cprop_insn): REGNO now unsigned.
445 (delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
446 * ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
447 * global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
448 * hard-reg-set.h (reg_class_size): Now unsigned.
449 * integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
450 * jump.c (mark_modified_reg): I now unsigned; add cast.
451 (rtx_equal_for_thread_p): Add cast.
452 * loop.c (max_reg_before_loop): Now unsigned.
453 (struct_movable): REGNO now unsigned.
454 (try_copy_prop): REGNO arg unsigned.
455 (regs_match_p): XN and YN now unsigned.
456 (consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
457 (strength_reduce): Likewise; NREGS also unsigned.
458 (first_increment_giv, last_increment_giv unsigned): Now unsigned.
459 * loop.h (struct iv_class): REGNO now unsigned.
460 (max_reg_before_loop, first_increment_giv, last_increment_giv):
461 Now unsigned.
462 * machmode.h (mode_size, mode_unit_size): Now unsigned.
463 (mode_for_size, smallest_mode_for_size): Pass size as unsigned.
464 * optabs.c (expand_binop): I and NWORDS now unsigned.
465 (expand_unop): I now unsigned.
466 * print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
467 print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
468 * real.c (significand_size): Now returns unsigned.
469 * real.h (significand_size): Likewise.
470 * regclass.c (reg_class_size): Now unsigned.
471 (choose_hard_reg_mode): Both operands now unsigned.
472 (record_reg_classes): REGNO and NR now unsigned.
473 (reg_scan): NREGS now unsigned.
474 (reg_scan_update): old_max_regno now unsigned.
475 (reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
476 * reload.c (find_valid_class): BEST_SIZE now unsigned.
477 (find_dummy_reload): REGNO, NWORDS, and I now unsigned.
478 (hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
479 Likewise for variable R.
480 (refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
481 as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
482 (find_equiv_reg): Add casts.
483 (regno_clobbered_p): Arg REGNO now unsigned.
484 * reload.h (struct reload): NREGS now unsigned.
485 (refers_to_regno_for_reload_p): Regno args are unsigned.
486 (regno_clobbered_p): Likewise.
487 * reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
488 (compute_use_by_pseudos): REGNO now unsigned.
489 (find_reg): I and J now unsigned, new variable K, and change loop
490 variables accordingly; THIS_NREGS now unsigned.
491 (alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
492 (spill_hard_reg): REGNO arg now unsigned; add casts.
493 (forget_old_reloads_1): REGNO, NR, and I now unsigned.
494 (mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
495 (clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
496 END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
497 (reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
498 (choose_reload_regs): MAX_GROUP_SIZE now unsigned.
499 (emit_reload_insns): REGNO now unsigned.
500 (reload_cse_move2add): Add cast.
501 (move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
502 and rework loop.
503 * resource.c (mark_referenced_resources, mark_set_resources): New
504 variable R; REGNO and LAST_REGNO now unsigned.
505 (mark_target_live_regs): J and REGNO now unsigned.
506 * rtl.c (mode_size, mode_unit_size): Now unsigned.
507 * rtl.h (union rtunion_def): New field rtuint.
508 (XCUINT): New macro.
509 (ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
510 (operand_subword, operand_subword_force): Word number is unsigned.
511 (choose_hard_reg_mode): Operands are unsigned.
512 (refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
513 (find_regno_note, find_regno_fusage, replace_regs): Likewise.
514 (regno_use_in, combine_instructions, remove_death): Likewise.
515 (reg_scan, reg_scan_update): Likewise.
516 (extended_count): Return is unsigned.
517 * rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
518 INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
519 (reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
520 (reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
521 (reg_reg_last_1): FIRS and LAST now unsigned.
522 (dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
523 (dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
524 now unsigned.
525 (find_regno_note, regno_use_in): Arg REGNO now unsigned.
526 (find_regno_fusage): Likewise; also var REGNOTE now unsigned.
527 (find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
528 (replace_regs): Arg NREGS now unsigned.
529 * sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
530 * simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
531 (simplify_binary_operation): Likewise.
532 (cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
533 THIS_LAST now unsigned.
534 (cselib_record_set): Add cast.
535 * ssa.c (ssa_max_reg_num): Now unsigned.
536 (rename_block): REGNO now unsigned.
537 * stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
538 sizes now unsigned.
539 (all_cases_count): Just return -1 not -2.
540 COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
541 Rework tests to use trees whenever possible.
542 Use host_integerp and tree_low_cst.
543 (mark_seen_cases): COUNT arg now HOST_WIDE_INT;
544 Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
545 (check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
546 * stor-layout.c (mode_for_size): SIZE arg now unsigned.
547 (smallest_mode_for_size): Likewise.
548 (layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
549 KNOWN_ALIGN is now an alignment, so simplify code.
550 Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
551 (start_record_layout): Renamed from new_record_layout_info.
552 Update to new fields.
553 (debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
554 New functions.
555 (place_union_field): Renamed from layout_union_field.
556 Update to use new fields in rli.
557 (place_field): Renamed from layout_field.
558 Major rewrite to use new fields in rli; pass alignment to layout_decl.
559 (finalize_record_size): Rework to use new fields in rli and handle
560 union.
561 (compute_record_mode): Rework to simplify and to use new DECL fields.
562 (finalize_type_size): Make rounding more consistent.
563 (finish_union_layout): Deleted.
564 (layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
565 (layout_type, case RECORD_TYPE): Call new function names.
566 (initialize_sizetypes): Set TYPE_IS_SIZETYPE.
567 (set_sizetype): Set TYPE_IS_SIZETYPE earlier.
568 (get_best_mode): UNIT is now unsigned; remove casts.
569 * tree.c (bit_position): Compute from new fields.
570 (byte_position, int_byte_position): New functions.
571 (print_type_hash_statistics): Cast to remove warning.
572 (build_range_type): Use host_integerp and tree_low_cst to try to hash.
573 (build_index_type): Likewise; make subtype of sizetype.
574 (build_index_2_type): Pass sizetype to build_range_type.
575 (build_common_tree_nodes): Use size_int and bitsize_int to
576 initialize nodes; add bitsize_{zero,one,unit}_node.
577 * tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
578 (DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
579 (DECL_PACKED, DECL_BIT_FIELD): Likewise.
580 (DECL_FIELD_BITPOS): Deleted.
581 (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
582 (DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
583 (DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
584 (DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
585 (DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
586 (DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
587 (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
588 (DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
589 (DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
590 (DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
591 (DECL_ALIGN): Adjust to new field in union.
592 (DECL_OFFSET_ALIGN): New field.
593 (DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
594 (DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
595 (union tree_decl): Add struct for both aligns.
596 (enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
597 (bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
598 (struct record_layout_info): Rework fields to have offset
599 alignment and byte and bit position.
600 (start_record_layout, place_field): Renamed from old names.
601 (rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
602 (byte_position, int_byte_position): Likewise.
603 (get_inner_reference): Change types of position and length.
604 * unroll.c (unroll_loop): New variable R; use for some loops.
605 MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
606 (calculate_giv_inc): Arg REGNO now unsigned.
607 (copy_loop_body): REGNO and SRC_REGNO now unsigned.
608 * varasm.c (assemble_variable): Clean up handling of size using
609 host_integerp and tree_low_cst.
610 (decode_addr_const): Use byte, not bit, position.
611 (output_constructor): bitpos and offsets are HOST_WIDE_INT;
612 use tree_low_cst and int_bit_position.
613 * objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
614
db525e17
JE
615Fri Mar 24 20:13:49 2000 Jason Eckhardt <jle@cygnus.com>
616
617 * bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
618 (reorder_block_def): New members eff_head and eff_end.
619 (REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros.
620 (verify_insn_chain): New function.
621 (skip_insns_between_block): Add code to skip deleted insns.
622 Check for note before using.
623 (chain_reorder_blocks): Replace calls to skip_insns_between_block
624 with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END.
625 Check for note before using.
626 (make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB.
627 (fixup_reorder_chain): Restructure, clean up, defect removal.
628 (reorder_basic_blocks): Remove last_insn and references to it.
629 Moved insn chain verification code into a new function (see above).
630 Delete defective code that sets last insn.
631 Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for
632 all blocks.
633
0d74d20f
MH
6342000-03-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
635
636 * config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
637
194c7c45
RH
6382000-03-24 Richard Henderson <rth@cygnus.com>
639
640 * tree.c (lang_safe_for_unsave): Remove.
641 (unsafe_for_reeval): Transmute and rename from safe_for_unsave,
642 allowing for two levels of unsafeness. Remove lang hook.
643 * tree.h: Update declarations.
644 * calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
645 Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
646 Always fail sibcalls when there are pending cleanups.
647
02ce8f4e
GK
6482000-03-24 Geoff Keating <geoffk@cygnus.com>
649
650 * flow.c (propagate_block): When we delete an ADDR_VEC,
651 also delete the BARRIER following it if there is one.
652
3477addf
RH
6532000-03-24 Richard Henderson <rth@cygnus.com>
654
655 * builtins.c (expand_builtin_bzero): Convert `length' argument
656 to sizetype.
657
7d167afd
JJ
6582000-03-24 Jakub Jelinek <jakub@redhat.com>
659
660 * sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
661 comparison if regno's are equal.
662 * calls.c (initialize_argument_informat): Add ecf_flags argument.
663 Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
664 (expand_call): Update caller.
665 Avoid making a sibling call if argument size of the callee is larger
666 than argument size of the caller.
667 Call hard_function_value with outgoing set if in sibcall pass.
668 Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
669
670 * final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
671 Change LEAF_REGISTERS from an array initializer to actual array
672 identifier. Move static global variable into the function.
673 (leaf_function_p): Allow SIBLING_CALL_P calls even outside of
674 sequences for leaf functions.
675 * global.c (global_alloc): Likewise.
676 * tm.texi (LEAF_REGISTERS): Update documentation.
677
678 * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
679 TARGET_FLAT leaf disabling hack.
680 (LEAF_REGISTERS): Changed from an array initializer to actual array
681 identifier to avoid duplication and remove the above hack.
682 (FUNCTION_OK_FOR_SIBCALL): Define.
683 * config/sparc/sparc.md (sibcall): New attr type. Use it almost
684 always like call attribute.
685 (eligible_for_sibcall_delay): New attribute.
686 (sibcall): New delay type.
687 (sibcall, sibcall_value, sibcall_epilogue): New expands.
688 (sibcall_symbolic_sp32, sibcall_symbolic_sp64,
689 sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
690 * config/sparc/sparc.c (sparc_leaf_regs): New array.
691 (eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
692 New functions.
693 (output_function_epilogue): Move part of the code into
694 output_restore_regs.
695 (ultra_code_from_mask, ultrasparc_sched_reorder): Handle
696 TYPE_SIBCALL.
697 * sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
698 prototypes.
699
46238b7d
JJ
700 * config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
701 until infrastructure is finished.
702
eef9a168
JL
703Fri Mar 24 13:49:45 2000 Jeffrey A Law (law@cygnus.com)
704
705 * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
706 (save_parm_insns): Not here.
707
e3a709be
KG
7082000-03-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
709
710 * builtins.c (expand_builtin_bzero): New function.
711 (expand_builtin): Handle bzero.
712
713 * builtins.def: Add BUILT_IN_BZERO.
714
715 * c-common.c (c_common_nodes_and_builtins): Provide builtin
716 prototype & function for bzero.
717
265ae617
MM
7182000-03-23 Michael Meissner <meissner@redhat.com>
719
720 * config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21
721 change adding TARGET_FP to the TF floating point insns, except for
722 trunctfsf2, which generates direct calls to truncdfsf2.
723
1751425f
GK
7242000-03-23 Geoff Keating <geoffk@cygnus.com>
725
726 * config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
727 try to protect against middle-end changes that break binary
728 compatibility.
729 (DWARF_FRAME_REGISTERS): New definition, likewise for backend.
730
cf92d7df
MH
7312000-03-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
732
733 * config/c4x/c4x.md (load_immed_address): Add DP reg clobber.
734
25a1fcb4
RK
735Thu Mar 23 17:10:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
736
737 * calls.c (expand_call): If TARGET is passed by reference and
738 is readonly, write a CLOBBER.
739
4b2a62db
KG
7402000-03-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
741
742 * builtins.c (expand_builtin): Handle bcmp.
743
744 * builtins.def: Add BUILT_IN_BCMP.
745
746 * c-common.c (c_common_nodes_and_builtins): Provide builtin
747 prototype & function for bcmp.
748
d4daa0b4
JW
749Thu Mar 23 11:34:39 2000 Jim Wilson <wilson@cygnus.com>
750
751 * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
752 (rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
753 * config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
754
fc5b7cda
AH
755Thu Mar 23 16:04:40 2000 Andrew Haley <aph@cygnus.com>
756
e3c2afab
AM
757 * config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
758 alternative when using -fp64 -gp32.
fc5b7cda 759
8034da37
JM
7602000-03-22 Jason Merrill <jason@casey.cygnus.com>
761
762 * config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
763 * config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
764 * config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
765
766 * frame.h (frame_state): Revert last change.
767 * frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
768 * libgcc2.c (throw_helper): Revert last change.
769
17e71da2
RH
7702000-03-22 Richard Henderson <rth@cygnus.com>
771
772 * stmt.c (expand_asm_operands): Don't promote the temporary.
773
2f939d94
TP
7742000-03-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
775
e3c2afab 776 * builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
2f939d94
TP
777 * c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
778 c_get_alias_set): Likewise.
779 * c-decl.c (duplicate_decls): Likewise.
780 * c-typeck.c (default_conversion,build_unary_op): Likewise.
781 * calls.c (initialize_argument_information): Likewise.
782 * dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
783 Likewise.
784 * dwarfout.c (decl_class_context,output_type): Likewise.
785 * expr.c (get_inner_reference): Likewise.
786 * fold-const.c (simple_operand_p,fold): Likewise.
787 * function.c (aggregate_value_p): Likewise.
788 * stmt.c (expand_asm_operands): Likewise.
789 * varasm.c (named_section): Likewise.
790
2c849145
JM
7912000-03-22 Jason Merrill <jason@casey.cygnus.com>
792
2c849145
JM
793 Implement dwarf2 exception handling for the ARM.
794 * config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
795 (DWARF_FRAME_RETURN_COLUMN): Define.
796 * config/arm/arm.c (emit_multi_reg_push): Return rtx. Attach
797 REG_FRAME_RELATED_EXPR note.
798 (emit_sfm): Likewise.
799 (arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
800 * dwarf2out.c (reg_save): Handle saving a register to itself.
801 (dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
802 * except.c (eh_regs): Don't use the static chain reg if it's
803 callee-saved.
804 * frame.h (frame_state): Add cfa_saved field.
805 * frame.c (execute_cfa_insn): Set it.
806 * libgcc2.c (throw_helper): Don't adjust sp if it's restored in
807 the epilogue.
808 * function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
809 Now takes a parm.
810 (instantiate_virtual_regs): Adjust.
811 * tm.texi: Adjust.
812 * config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
813 * config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
814 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
815
816 * dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
817 (initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
818
cb1072f4
KG
8192000-03-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
820
821 * builtins.def: New file.
822
823 * Makefile.in (TREE_H): Depend on builtins.def.
824
825 * builtins.c (built_in_names): Use builtins.def.
826
827 * tree.h (built_in_function): Likewise.
828
dc397323
MM
8292000-03-22 Mark Mitchell <mark@codesourcery.com>
830
831 * tree.c (size_in_bytes): Return size_zero_node, not
832 integer_zero_node.
833
fae8209a
GK
8342000-03-22 Geoff Keating <geoffk@cygnus.com>
835
836 * config/fp-bit.c (pack_d): Correct the case when a denormal
837 is rounded up and stops being denormal.
838
ea2e5dbe
RH
8392000-03-21 Richard Henderson <rth@cygnus.com>
840
841 * config/alpha/alpha.c (function_arg): Check for void_type_node
842 before using MUST_PASS_IN_STACK.
843
5d64361b
SC
8442000-03-21 Stephane Carrez <stcarrez@worldnet.fr>
845
846 * regmove.c (combine_stack_adjustments_for_block): Check that
847 the stack pointer is a valid memory address.
848
de76b467
JH
849Wed Mar 22 11:44:50 MET 2000 Jan Hubicka <jh@suse.cz>
850
851 * calls.c: re-install Mar 16 emit_library_call merge.
852
021e2ecc
JJ
8532000-03-21 Jakub Jelinek <jakub@redhat.com>
854
855 * config/sparc/sparc.c (mem_min_alignment): If not optimizing,
856 we cannot be sure that if reload_completed base register will
857 be properly aligned.
858
1fa4609a
RH
8592000-03-21 Richard Henderson <rth@cygnus.com>
860
e3c2afab 861 * flow.c (delete_block): Fix typo last change.
1fa4609a 862
b8de2d02
MM
8632000-03-21 Mark Mitchell <mark@codesourcery.com>
864
865 * c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
866 not COMPLETE_TYPE_P, to check the type of the expression.
867
4287843d
MM
8682000-03-21 Michael Meissner <meissner@redhat.com>
869
870 * config/alpha/alpha.md (floating point insns): Add TARGET_FP to
871 all floating point insns that just tested the macro
872 TARGET_HAS_XFLOATING_LIBS.
873 (movsf/movdf recognizers): Add separate insns if -mno-fp-regs is
874 used to only use the gprs.
875
d0f062fb
NS
8762000-03-21 Nathan Sidwell <nathan@codesourcery.com>
877
878 * tree.h (COMPLETE_TYPE_P): New macro.
879 (COMPLETE_OR_VOID_TYPE_P): New macro.
880 (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
881 * stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
882 * c-aux-info.c (gen_type): Use them.
883 * c-common.c (c_expand_expr_stmt): Likewise.
884 * c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
885 grokdeclarator, grokparms, finish_struct, start_function,
886 store_parm_decls, combine_parm_decls): Likewise.
887 * c-parse.y (cast_expr): Likewise.
888 * c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
889 c_size_in_bytes, c_alignof, build_component_ref,
890 build_indirect_ref, build_array_ref, convert_arguments,
891 build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
892 * calls.c (initialize_argument_information): Likewise.
893 * convert.c (convert_to_integer): Likewise.
894 * dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
895 * dwarfout.c (location_or_const_value_attribute,
896 output_enumeration_type_die, output_structure_type_die,
897 output_union_type_die, output_type): Likewise.
898 * expr.c (safe_from_p, expand_expr): Likewise.
899 * function.c (assign_parms): Likewise.
900 * sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
901 * tree.c (build_array_type, build_function_type,
902 build_method_type, build_offset_type, build_complex_type): Likewise.
903 * c-parse.c, c-parse.h: Regenerated.
904
7d6e6314
MH
9052000-03-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
906
907 * config/c4x/rtems.h: Include config/rtems.h.
908
8053f393
DC
909Tue Mar 21 09:24:00 2000 Denis Chertykov <denisc@overta.ru>
910
911 * config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
912 decl is a FUNCTION_DECL
913
1ff5b671
JW
914Mon Mar 20 19:53:53 2000 Jim Wilson <wilson@cygnus.com>
915
916 * config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf
917 function uses output registers. Don't save RP for leaf functions.
918 Do save RP even if no epilogue.
919 * config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers.
920 (CALL_USED_REGISTERS): Unmark in registers.
921 (REG_ALLOC_ORDER): Move out regs up, to near the top. Move in regs up,
922 to near the middle.
923
1c882ea4
GK
9242000-03-20 Geoff Keating <geoffk@cygnus.com>
925
926 * config/rs6000/rs6000.md (bunordered): New expander.
927 (bordered): New expander.
928 (buneq): New expander.
929 (bunge): New expander.
930 (bungt): New expander.
931 (bunle): New expander.
932 (bunlt): New expander.
933 (bltgt): New expander.
934
935 * config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons.
936 (ccr_bit_negated_p): New function.
937 (print_operand): For %C, generate appropriate cror for UNEQ,
938 UNLT, UNGT, and LTGT. For %T and %t, use ccr_bit_negated_p.
939
bf5e8d0c
AJ
9402000-03-20 Andreas Jaeger <aj@suse.de>
941
942 * sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else"
943 warning.
944
8c57aea6
AJ
945 * tree.h (safe_for_unsave): Prototype.
946
9e11785b
RH
9472000-03-20 Richard Henderson <rth@cygnus.com>
948
949 * regmove.c (stack_memref_p): Fix typo, reorg for readability.
950 (combine_stack_adjustments_for_block): Don't allow sp references
951 in the side of a set we're not fixing up.
952 * toplev.c (rest_of_compilation): Run combine_stack_adjustments
953 after life_analysis.
954
e245d3af
RH
9552000-03-20 Richard Henderson <rth@cygnus.com>
956
957 * calls.c (expand_call): Don't bother generating tail call
958 sequences if there are pending cleanups. Use
959 expand_start_target_temps/expand_end_target_temps to elide
960 cleanups created during sibcall expansion.
961
1c521d41
GK
9622000-03-20 Geoff Keating <geoffk@cygnus.com>
963
964 * configure.in: Set $IFS to a value if it doesn't already have one
965 in the --enable-checking handling.
966 * configure: Regenerate.
967
949d707d
ML
968