diff options
author | Björn Gustavsson <[email protected]> | 2019-03-02 14:05:12 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2019-03-06 15:42:42 +0100 |
commit | 85b3b9d1930b0addad09c56576608c5133a4976f (patch) | |
tree | e31bc73a6eb75736fbf109e35eb5ec398dacc858 /erts/emulator | |
parent | 131bb83e7ba123d35ea8201832ce2165fc447b10 (diff) | |
download | otp-85b3b9d1930b0addad09c56576608c5133a4976f.tar.gz otp-85b3b9d1930b0addad09c56576608c5133a4976f.tar.bz2 otp-85b3b9d1930b0addad09c56576608c5133a4976f.zip |
Optimize hd/1 and tl/1 in guards
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/ops.tab | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index 3cfc685336..9237fa1069 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -1035,6 +1035,9 @@ call_bif e bif0 u$bif:erlang:self/0 Dst=d => self Dst bif0 u$bif:erlang:node/0 Dst=d => node Dst +bif1 Fail=f Bif=u$bif:erlang:hd/1 Src=x Dst=x => is_nonempty_list_get_hd Fail Src Dst +bif1 Fail=f Bif=u$bif:erlang:tl/1 Src=x Dst=x => is_nonempty_list_get_tl Fail Src Dst + bif1 Fail Bif=u$bif:erlang:get/1 Src=s Dst=d => gen_get(Src, Dst) bif2 Jump=j u$bif:erlang:element/2 S1=s S2=xy Dst=d => gen_element(Jump, S1, S2, Dst) |