소스 검색

* x86: BZHI optimisation now sets the subtract and shift nodes to 'do not execute' as they are skipped over.

J. Gareth "Curious Kit" Moreton 2 년 전
부모
커밋
2a44ffe51b
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      compiler/x86/nx86add.pas

+ 2 - 0
compiler/x86/nx86add.pas

@@ -2051,6 +2051,8 @@ unit nx86add;
                    secondpass(left);
 
                    { Skip the subtract and shift nodes completely }
+                   Include(right.flags, nf_do_not_execute);
+                   Include(taddnode(right).left.flags, nf_do_not_execute);
 
                    { Helps avoid all the awkward typecasts }
                    indexnode := tshlshrnode(taddnode(right).left).right;