/*****************************************************************************/
/* */
-/* coptind.h */
+/* coptind.h */
/* */
-/* Environment independent low level optimizations */
+/* Environment independent low level optimizations */
/* */
/* */
/* */
/*****************************************************************************/
-/* Code */
+/* Code */
/*****************************************************************************/
* it's job is already done.
*/
+unsigned OptJumpTarget3 (CodeSeg* S);
+/* Jumps to load instructions of a register, that do already have the matching
+ * register contents may skip the load instruction, since it's job is already
+ * done.
+ */
+
unsigned OptCondBranches1 (CodeSeg* S);
/* If an immidiate load of a register is followed by a conditional jump that
* is never taken because the load of the register sets the flags in such a
unsigned OptBranchDist (CodeSeg* S);
/* Change branches for the distance needed. */
+unsigned OptIndLoads1 (CodeSeg* S);
+/* Change
+ *
+ * lda (zp),y
+ *
+ * into
+ *
+ * lda (zp,x)
+ *
+ * provided that x and y are both zero.
+ */
+unsigned OptIndLoads2 (CodeSeg* S);
+/* Change
+ *
+ * lda (zp,x)
+ *
+ * into
+ *
+ * lda (zp),y
+ *
+ * provided that x and y are both zero.
+ */
-/* End of coptind.h */
-#endif
+/* End of coptind.h */
+#endif