diff options
author | Sverker Eriksson <[email protected]> | 2018-01-03 17:11:49 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-01-03 17:11:49 +0100 |
commit | f9a0bac8f708a5cf769860ef2ee8af0591c5dbaf (patch) | |
tree | 4622350b2a0ca74ff72f78e31a02a0fb6954935e /lib/hipe | |
parent | 3d124b9ea557fd26ca7a33276b84c72d9e72044e (diff) | |
parent | 93042b54da6a576b187bfb7b2222fc8a5a4d4f12 (diff) | |
download | otp-f9a0bac8f708a5cf769860ef2ee8af0591c5dbaf.tar.gz otp-f9a0bac8f708a5cf769860ef2ee8af0591c5dbaf.tar.bz2 otp-f9a0bac8f708a5cf769860ef2ee8af0591c5dbaf.zip |
Merge branch 'maint'
Diffstat (limited to 'lib/hipe')
-rw-r--r-- | lib/hipe/main/hipe.app.src | 2 | ||||
-rw-r--r-- | lib/hipe/rtl/hipe_rtl_binary_construct.erl | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/hipe/main/hipe.app.src b/lib/hipe/main/hipe.app.src index 66008a4178..1138d72dd2 100644 --- a/lib/hipe/main/hipe.app.src +++ b/lib/hipe/main/hipe.app.src @@ -237,4 +237,4 @@ {applications, [kernel,stdlib]}, {env, []}, {runtime_dependencies, ["syntax_tools-1.6.14","stdlib-3.4","kernel-5.3", - "erts-9.2","compiler-5.0"]}]}. + "erts-9.3","compiler-5.0"]}]}. diff --git a/lib/hipe/rtl/hipe_rtl_binary_construct.erl b/lib/hipe/rtl/hipe_rtl_binary_construct.erl index 5b89d4946a..111dda3d82 100644 --- a/lib/hipe/rtl/hipe_rtl_binary_construct.erl +++ b/lib/hipe/rtl/hipe_rtl_binary_construct.erl @@ -168,9 +168,13 @@ gen_rtl(BsOP, Dst, Args, TrueLblName, FalseLblName, SystemLimitLblName, ConstTab bs_put_utf8 -> [_Src, _Base, _Offset] = Args, - NewDsts = get_real(Dst), - [hipe_rtl:mk_call(NewDsts, bs_put_utf8, Args, - TrueLblName, FalseLblName, not_remote)]; + [NewOffs] = get_real(Dst), + RetLbl = hipe_rtl:mk_new_label(), + [hipe_rtl:mk_call([NewOffs], bs_put_utf8, Args, + hipe_rtl:label_name(RetLbl), [], not_remote), + RetLbl, + hipe_rtl:mk_branch(NewOffs, ne, hipe_rtl:mk_imm(0), + TrueLblName, FalseLblName, 0.99)]; bs_utf16_size -> case Dst of |