aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-03-01 11:20:01 +0100
committerGitHub <[email protected]>2018-03-01 11:20:01 +0100
commitaa4fcf9c40d6acc6db97c1eb5d1f32755bf19270 (patch)
tree07edfb8831f0e6bc55488062269529950a64accc
parentdee43c3d76ac2b17b7b5c6334e21e2e97f779bc3 (diff)
parentb5ff263df0e2dd3fc7795a3e0ec41e254899ad6c (diff)
downloadotp-aa4fcf9c40d6acc6db97c1eb5d1f32755bf19270.tar.gz
otp-aa4fcf9c40d6acc6db97c1eb5d1f32755bf19270.tar.bz2
otp-aa4fcf9c40d6acc6db97c1eb5d1f32755bf19270.zip
Merge PR-1718 from michalmuskala/hipe-inline-bifs OTP-14941
Inline more type test BIFs in HiPE
-rw-r--r--lib/hipe/icode/hipe_icode_inline_bifs.erl22
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/hipe/icode/hipe_icode_inline_bifs.erl b/lib/hipe/icode/hipe_icode_inline_bifs.erl
index 7a6947f190..16a95991e7 100644
--- a/lib/hipe/icode/hipe_icode_inline_bifs.erl
+++ b/lib/hipe/icode/hipe_icode_inline_bifs.erl
@@ -24,8 +24,9 @@
%% Currently inlined BIFs:
%% and, or, xor, not, <, >, >=, =<, ==, /=, =/=, =:=
-%% is_atom, is_boolean, is_binary, is_float, is_function,
-%% is_integer, is_list, is_pid, is_port, is_reference, is_tuple
+%% is_atom, is_binary, is_bitstring, is_boolean, is_float,
+%% is_function, is_integer, is_list, is_map, is_number,
+%% is_pid, is_port, is_reference, is_tuple
-module(hipe_icode_inline_bifs).
@@ -116,17 +117,20 @@ try_type_tests(I) -> I.
is_type_test(Name) ->
case Name of
- is_integer -> {true, integer};
+ is_atom -> {true, atom};
+ is_binary -> {true, binary};
+ is_bitstring -> {true, bitstr};
+ is_boolean -> {true, boolean};
is_float -> {true, float};
- is_tuple -> {true, tuple};
- is_binary -> {true, binary};
+ is_function -> {true, function};
+ is_integer -> {true, integer};
is_list -> {true, list};
+ is_map -> {true, map};
+ is_number -> {true, number};
is_pid -> {true, pid};
- is_atom -> {true, atom};
- is_boolean -> {true, boolean};
- is_function -> {true, function};
- is_reference -> {true, reference};
is_port -> {true, port};
+ is_reference -> {true, reference};
+ is_tuple -> {true, tuple};
_ -> false
end.