]> git.sur5r.net Git - cc65/commitdiff
Another small change in OptJumpTarget3.
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 30 Sep 2009 14:52:46 +0000 (14:52 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Wed, 30 Sep 2009 14:52:46 +0000 (14:52 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@4281 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/coptind.c

index de3f67b463fad490bba81ecccb71bb6d8708809a..1f788aac472194cd57d3025665f307bb842e54b9 100644 (file)
@@ -773,12 +773,14 @@ unsigned OptJumpTarget3 (CodeSeg* S)
        /* Get next entry */
                CodeEntry* E = CS_GetEntry (S, I);
 
-        /* Check if this is a load insn with a label */
+        /* Check if this is a load insn with a label and the next insn is not
+         * a conditional branch that needs the flags from the load.
+         */
         if ((E->Info & OF_LOAD) != 0            &&
             CE_IsConstImm (E)                   &&
             CE_HasLabel (E)                     &&
             (N = CS_GetNextEntry (S, I)) != 0   &&
-            (N->Info & OF_FBRA) == 0)    {
+            !CE_UseLoadFlags (N)) {
 
             /* Walk over all insn that jump here */
             for (J = 0; J < CE_GetLabelCount (E); ++J) {