CSE bug on amd64: Ifloatsqrtf involves a memory load
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
5208fbc99f
commit
a68f192d48
|
@ -22,11 +22,14 @@ inherit cse_generic as super
|
|||
|
||||
method! class_of_operation op =
|
||||
match op with
|
||||
| Ispecific(Ilea _) -> Op_pure
|
||||
| Ispecific(Istore_int(_, _, is_asg)) -> Op_store is_asg
|
||||
| Ispecific(Istore_symbol(_, _, is_asg)) -> Op_store is_asg
|
||||
| Ispecific(Ioffset_loc(_, _)) -> Op_store true
|
||||
| Ispecific(Ifloatarithmem _) -> Op_load
|
||||
| Ispecific spec ->
|
||||
begin match spec with
|
||||
| Ilea _ -> Op_pure
|
||||
| Istore_int(_, _, is_asg) | Istore_symbol(_, _, is_asg) -> Op_store is_asg
|
||||
| Ioffset_loc(_, _) -> Op_store true
|
||||
| Ifloatarithmem _ | Ifloatsqrtf _ -> Op_load
|
||||
| Ibswap _ | Isqrtf -> super#class_of_operation op
|
||||
end
|
||||
| _ -> super#class_of_operation op
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue