/* */
/* */
/* */
-/* (C) 2001 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
+/* (C) 2001-2003 Ullrich von Bassewitz */
+/* Römerstrasse 52 */
+/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* */
/* */
+/* cc65 */
#include "codeseg.h"
/*****************************************************************************/
-/* Code */
+/* Code */
/*****************************************************************************/
+unsigned OptRTSJumps1 (CodeSeg* S);
+/* Replace jumps to RTS by RTS */
+
+unsigned OptRTSJumps2 (CodeSeg* S);
+/* Replace long conditional jumps to RTS */
+
unsigned OptDeadJumps (CodeSeg* S);
/* Remove dead jumps (jumps to the next instruction) */
unsigned OptUnusedLoads (CodeSeg* S);
/* Remove loads of registers where the value loaded is not used later. */
+unsigned OptUnusedStores (CodeSeg* S);
+/* Remove stores into zero page registers that aren't used later */
+
+unsigned OptDupLoads (CodeSeg* S);
+/* Remove loads of registers where the value loaded is already in the register. */
+
+unsigned OptStoreLoad (CodeSeg* S);
+/* Remove a store followed by a load from the same location. */
+
+unsigned OptTransfers1 (CodeSeg* S);
+/* Remove transfers from one register to another and back */
+
+unsigned OptTransfers2 (CodeSeg* S);
+/* Replace loads followed by a register transfer by a load with the second
+ * register if possible.
+ */
+
+unsigned OptPushPop (CodeSeg* S);
+/* Remove a PHA/PLA sequence were A is not used later */
+
+unsigned OptPrecalc (CodeSeg* S);
+/* Replace immediate operations with the accu where the current contents are
+ * known by a load of the final value.
+ */
+
+unsigned OptBranchDist (CodeSeg* S);
+/* Change branches for the distance needed. */
+
/* End of coptind.h */