pointing to themselves caused the optimizer to loop forever.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3907
b7a2c559-68d2-44c3-8de9-
860c34a00d81
/* Remember, we had changes */
++Changes;
/* Remember, we had changes */
++Changes;
- /* Done */
- continue;
-
- }
-
/* Check if both are conditional branches, and the condition of
* the second is the inverse of that of the first. In this case,
* the second branch will never be taken, and we may jump directly
* to the instruction behind this one.
*/
/* Check if both are conditional branches, and the condition of
* the second is the inverse of that of the first. In this case,
* the second branch will never be taken, and we may jump directly
* to the instruction behind this one.
*/
- if ((E->Info & OF_CBRA) != 0 && (N->Info & OF_CBRA) != 0) {
+ } else if ((E->Info & OF_CBRA) != 0 && (N->Info & OF_CBRA) != 0) {
CodeEntry* X; /* Instruction behind N */
CodeLabel* LX; /* Label attached to X */
CodeEntry* X; /* Instruction behind N */
CodeLabel* LX; /* Label attached to X */
/* Remember, we had changes */
++Changes;
/* Remember, we had changes */
++Changes;
-
- /* Done */
- continue;
-