summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-27 01:25:13 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-27 01:25:13 +0000
commitf3d96a589c138697c4c9d1ad41973a2b110f4266 (patch)
tree7fc24b0621130fa71399fe7a18886374f8f8f7ad /gcc/ChangeLog
parentfc201c87d5e6a63b940e50a9283d23d2a12b3b7c (diff)
downloadgcc-f3d96a589c138697c4c9d1ad41973a2b110f4266.tar.gz
Reorg reg-stack to use the standard CFG.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30201 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog53
1 files changed, 53 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 246060dad4e..6614d8ba543 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,56 @@
+Tue Oct 26 18:23:38 1999 Jan Hubicka <hubicka@freesoft.cz>
+ Richard Henderson <rth@cygnus.com>
+
+ * emit-rtl.c (emit_block_insn_before): New.
+ (emit_block_insn_after): New.
+ * basic-block.h: Declare them.
+
+ * bitmap.h: Protect from multiple inclusion.
+
+ * recog.c (scratch_operand): Handle VOIDmode correctly.
+
+ * rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
+
+ * builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
+ * function.c (assign_parms): Likewise.
+ * global.c (global_conflicts): Clarify STACK_REGS commentary.
+
+ * reg-stack.c (max_uid): Remove.
+ (blocks, block_begin, block_end, block_drops_in): Remove.
+ (block_stack_in, block_out_reg_set, block_number): Remove.
+ (struct block_info_def, BLOCK_INFO): New.
+ (enum emit_where): New.
+ (current_block): New.
+ (BLOCK_NUM): Remove.
+ (mark_regs_pat, record_label_references): Remove.
+ (record_reg_life_pat, record_reg_life, find_blocks): Remove.
+ (nan): New.
+ (goto_block_pat, print_blocks, dump_stack_info): Remove.
+ (reg_to_stack): Simplified test for existance of fp code. Use
+ flow.c code. Call shorten_branches after cross-jump opt.
+ (check_asm_stack_operands): Renamed from record_asm_reg_life.
+ Return false if the asm doesn't use stack regs. Don't do life
+ analysis on the asm.
+ (emit_pop_insn): Replace function pointer arg `when' with
+ enum `where'. Update all callers.
+ (change_stack): Likewise. Update basic block end.
+ (emit_swap_insn): Use current_block->head to limit reverse search
+ for start of block. Use emit_block_insn_after.
+ (subst_stack_regs_pat): Handle USE and CLOBBER patterns.
+ (subst_asm_stack_regs): Use check_asm_stack_operands. Use direct
+ structure assignment instead of bcopy.
+ (print_stack): New.
+ (convert_regs_entry, convert_regs_exit): New.
+ (convert_regs_1, convert_regs_2): Split out from convert_regs.
+ Work on basic blocks and the CFG.
+ (convert_regs): Use them.
+
+ * i386.c (output_fix_trunc): Remove code for DImode input operand
+ not at top-of-stack.
+ * i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
+ appropriate mode.
+ (fix_truncdi_1): Allow any mode scratch.
+
Tue Oct 26 13:30:35 1999 Richard Henderson <rth@cygnus.com>
* alpha.h (TARGET_MEM_FUNCTIONS): Define here.