]> gitweb.factorcode.org Git - factor.git/commitdiff
Some fixes to merge scheduling
authorDaniel Ehrenberg <littledan@pool-224-36.res.carleton.edu>
Mon, 3 May 2010 22:54:46 +0000 (17:54 -0500)
committerDaniel Ehrenberg <littledan@pool-224-36.res.carleton.edu>
Mon, 3 May 2010 22:54:46 +0000 (17:54 -0500)
basis/compiler/cfg/dependence/dependence.factor
basis/compiler/cfg/finalization/finalization.factor
basis/compiler/cfg/height/height.factor

index 086de1fa90eba625807590a7c47cdc30e4e274a3..6e07336217f2210f069a53d57291d190b419d7b2 100644 (file)
@@ -49,25 +49,14 @@ M: node hashcode* nip number>> ;
         node insn>> uses-vregs [ definers at [ node +data+ precedes ] when* ] each
     ] each ;
 
-UNION: stack-read-write ##peek ##replace ;
+UNION: stack-insn ##peek ##replace ##replace-imm ;
 
-UNION: ##alien-read
-    ##alien-double ##alien-float ##alien-cell ##alien-vector
-    ##alien-signed-1 ##alien-signed-2 ##alien-signed-4
-    ##alien-unsigned-1 ##alien-unsigned-2 ##alien-unsigned-4 ;
-
-UNION: ##alien-write
-    ##set-alien-double ##set-alien-float ##set-alien-cell ##set-alien-vector
-    ##set-alien-integer-1 ##set-alien-integer-2 ##set-alien-integer-4 ;
-
-UNION: slot-memory-insn
+UNION: slot-insn
     ##read ##write ;
 
-UNION: alien-memory-insn
-    ##alien-read ##alien-write ;
-
-UNION: string-memory-insn
-    ##string-nth ##set-string-nth-fast ;
+UNION: memory-insn
+    ##load-memory ##load-memory-imm
+    ##store-memory ##store-memory-imm ;
 
 UNION: alien-call-insn
     ##save-context
@@ -82,17 +71,14 @@ UNION: alien-call-insn
 
 GENERIC: add-control-edge ( node insn -- )
 
-M: stack-read-write add-control-edge
+M: stack-insn add-control-edge
     loc>> chain ;
 
-M: alien-memory-insn add-control-edge
-    drop alien-memory-insn chain ;
-
-M: slot-memory-insn add-control-edge
-    drop slot-memory-insn chain ;
+M: memory-insn add-control-edge
+    drop memory-insn chain ;
 
-M: string-memory-insn add-control-edge
-    drop string-memory-insn chain ;
+M: slot-insn add-control-edge
+    drop slot-insn chain ;
 
 M: alien-call-insn add-control-edge
     drop alien-call-insn chain ;
index 5440ba6eef6924936c118cd77a73f5266f1c1e9f..aca45fe099c3f8925cc5408c7e7e495dfe15b81e 100644 (file)
@@ -8,7 +8,7 @@ IN: compiler.cfg.finalization
 
 : finalize-cfg ( cfg -- cfg' )
     select-representations
-    schedule-instructions
+    schedule-instructions
     insert-gc-checks
     insert-save-contexts
     destruct-ssa
index a782d2d4bc2c578cb46949202066da358ee4aa55..0b9c253c58503ed1579a44a267fdf5078c90e4fd 100644 (file)
@@ -52,4 +52,4 @@ M: insn normalize-height* ;
     rs-height get dup 0 = [ drop ] [ \ ##inc-r new-insn prefix ] if ;
 
 : normalize-height ( cfg -- cfg' )
-    [ height-step ] local-optimization ;
+    [ height-step ] simple-optimization ;