瀏覽代碼

+ apply cse to more inline nodes

git-svn-id: trunk@27675 -
florian 11 年之前
父節點
當前提交
99e1bb32a2
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      compiler/optcse.pas

+ 5 - 1
compiler/optcse.pas

@@ -66,7 +66,11 @@ unit optcse;
       begin
         if (n.nodetype in cseinvariant) or
           ((n.nodetype=inlinen) and
-           (tinlinenode(n).inlinenumber in [in_assigned_x])
+           (tinlinenode(n).inlinenumber in [in_assigned_x,in_sqr_real,in_sqrt_real,in_sin_real,in_cos_real,in_abs_long,
+             in_abs_real,in_exp_real,in_ln_real,in_pi_real,in_popcnt_x,in_arctan_real,in_round_real,in_trunc_real,
+             { cse on fma will still not work because it would require proper handling of call nodes
+               with more than one parameter }
+             in_fma_single,in_fma_double,in_fma_extended,in_fma_float128])
           ) or
           ((n.nodetype=callparan) and not(assigned(tcallparanode(n).right))) or
           ((n.nodetype=loadn) and