瀏覽代碼

* better alignment of while loop heads

git-svn-id: trunk@40340 -
florian 6 年之前
父節點
當前提交
cefb38b605
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      compiler/ncgflw.pas

+ 3 - 2
compiler/ncgflw.pas

@@ -196,8 +196,9 @@ implementation
            hlcg.a_jmp_always(current_asmdata.CurrAsmList,lcont);
 
          if not(cs_opt_size in current_settings.optimizerswitches) then
-            { align loop target }
-            current_asmdata.CurrAsmList.concat(Tai_align.Create(current_settings.alignment.loopalign));
+            { align loop target, as an unconditional jump is done before,
+              use jump align which assume that the instructions inserted as alignment are never executed }
+            current_asmdata.CurrAsmList.concat(cai_align.create_max(current_settings.alignment.jumpalign,current_settings.alignment.jumpalignmax));
 
          hlcg.a_label(current_asmdata.CurrAsmList,lloop);