aboutsummaryrefslogtreecommitdiff
path: root/scaf/compiler/optim.rules
diff options
context:
space:
mode:
Diffstat (limited to 'scaf/compiler/optim.rules')
-rw-r--r--scaf/compiler/optim.rules74
1 files changed, 0 insertions, 74 deletions
diff --git a/scaf/compiler/optim.rules b/scaf/compiler/optim.rules
deleted file mode 100644
index 282caf4..0000000
--- a/scaf/compiler/optim.rules
+++ /dev/null
@@ -1,74 +0,0 @@
-# Pure Data Packet - scaf optimization rules.
-# Copyright (c) by Tom Schouten <pdp@zzz.kotnet.org>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-
-# this file contains scaf source optimization rules for scaf compiler
-# applied after kernel word inlining and before compilation to asm
-
-# one rule that's not in here, and is the responsability for the
-# final compilation step: "word ;" is "jmp word" instead of "call word ret"
-
-# TODO: think about order!
-
-# no discrimination between pre inline and post inline optimization ops yet
-
-# pre inline optimizations
-
-"over xor" -> "overxor"
-"over and" -> "overand"
-"over or" -> "overor"
-
-"drop 1" -> "dropone"
-"drop 0" -> "dropzero"
-"over add" -> "overadd"
-"over addc" -> "overaddc"
-
-"dup !a0" -> "dupsta0"
-"dup !a1" -> "dupsta1"
-"dup !a2" -> "dupsta2"
-"dup !a3" -> "dupsta3"
-
-"drop @a0" -> "droplda0"
-"drop @a1" -> "droplda1"
-"drop @a2" -> "droplda2"
-"drop @a3" -> "droplda3"
-
-"drop ?anz" -> "dropisnonzero4"
-"drop ?anz4" -> "dropisnonzero4"
-"drop ?anz3" -> "dropisnonzero3"
-"drop ?anz2" -> "dropisnonzero2"
-"drop ?anz1" -> "dropisnonzero1"
-
-"drop @-+" -> "dropldTL"
-"drop @0+" -> "dropldTM"
-"drop @++" -> "dropldTR"
-"drop @-0" -> "dropldML"
-"drop @00" -> "dropldMM"
-"drop @+0" -> "dropldMR"
-"drop @--" -> "dropldBL"
-"drop @0-" -> "dropldBM"
-"drop @+-" -> "dropldBR"
-
-
-# post inline optimizations
-
-"dup drop" -> ""
-"swap drop" -> "nip"
-"dup swap" -> "dup"
-"drop dup" -> "dropdup"
-"drop over" -> "dropover"
-"nip dup" -> "nipdup"