aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/rtl/hipe_icode2rtl.erl
diff options
context:
space:
mode:
authorKostis Sagonas <[email protected]>2014-03-28 17:27:32 +0100
committerKostis Sagonas <[email protected]>2014-03-28 17:27:32 +0100
commit0009cd7e941fff2ffdf5b304bf5cf90fed310a5c (patch)
tree86711fde4e2b4c9877d7826558ba2b7ed24660bd /lib/hipe/rtl/hipe_icode2rtl.erl
parentbebbc097314f6519e4e06b61156f13c94d1ff9eb (diff)
downloadotp-0009cd7e941fff2ffdf5b304bf5cf90fed310a5c.tar.gz
otp-0009cd7e941fff2ffdf5b304bf5cf90fed310a5c.tar.bz2
otp-0009cd7e941fff2ffdf5b304bf5cf90fed310a5c.zip
Add support for the compilation of the is_map/1 guard to native code
Namely, extend the HiPE tagging scheme info, properly handle the translation of the (is_)map type test to Icode and RTL and support handling of the map() type in the type system. While at it, also performed some clean up of things that needed small fixes.
Diffstat (limited to 'lib/hipe/rtl/hipe_icode2rtl.erl')
-rw-r--r--lib/hipe/rtl/hipe_icode2rtl.erl2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/hipe/rtl/hipe_icode2rtl.erl b/lib/hipe/rtl/hipe_icode2rtl.erl
index 6ab40adcc8..483d0b37f7 100644
--- a/lib/hipe/rtl/hipe_icode2rtl.erl
+++ b/lib/hipe/rtl/hipe_icode2rtl.erl
@@ -437,6 +437,8 @@ gen_type_test([X], Type, TrueLbl, FalseLbl, Pred, ConstTab) ->
{hipe_tagscheme:test_integer(X, TrueLbl, FalseLbl, Pred), ConstTab};
list ->
{hipe_tagscheme:test_list(X, TrueLbl, FalseLbl, Pred), ConstTab};
+ map ->
+ {hipe_tagscheme:test_map(X, TrueLbl, FalseLbl, Pred), ConstTab};
nil ->
{hipe_tagscheme:test_nil(X, TrueLbl, FalseLbl, Pred), ConstTab};
number ->