Răsfoiți Sursa

+ apply cse to more inline nodes

git-svn-id: trunk@27675 -
florian 11 ani în urmă
părinte
comite
99e1bb32a2
1 a modificat fișierele cu 5 adăugiri și 1 ștergeri
  1. 5 1
      compiler/optcse.pas

+ 5 - 1
compiler/optcse.pas

@@ -66,7 +66,11 @@ unit optcse;
       begin
       begin
         if (n.nodetype in cseinvariant) or
         if (n.nodetype in cseinvariant) or
           ((n.nodetype=inlinen) and
           ((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
           ) or
           ((n.nodetype=callparan) and not(assigned(tcallparanode(n).right))) or
           ((n.nodetype=callparan) and not(assigned(tcallparanode(n).right))) or
           ((n.nodetype=loadn) and
           ((n.nodetype=loadn) and