aboutsummaryrefslogtreecommitdiffstats
path: root/arm
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2021-04-25 13:57:47 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2021-05-02 18:06:32 +0200
commit320c55590cc30d4ef5b2c1a226f0f940a6bdb445 (patch)
treeed6ad57e251e164fec31c57a6f2162daabc8305d /arm
parent38b0babd5a642cea8912524debc63edc67fda08b (diff)
downloadcompcert-kvx-320c55590cc30d4ef5b2c1a226f0f940a6bdb445.tar.gz
compcert-kvx-320c55590cc30d4ef5b2c1a226f0f940a6bdb445.zip
Support __builtin_unreachable
Not yet used for optimizations.
Diffstat (limited to 'arm')
-rw-r--r--arm/Asmexpand.ml4
1 files changed, 4 insertions, 0 deletions
diff --git a/arm/Asmexpand.ml b/arm/Asmexpand.ml
index 15cbebec..01b18c37 100644
--- a/arm/Asmexpand.ml
+++ b/arm/Asmexpand.ml
@@ -407,8 +407,12 @@ let expand_builtin_inline name args res =
(* Vararg stuff *)
| "__builtin_va_start", [BA(IR a)], _ ->
expand_builtin_va_start a
+ (* No operation *)
| "__builtin_nop", [], _ ->
emit Pnop
+ (* Optimization hint *)
+ | "__builtin_unreachable", [], _ ->
+ ()
(* Catch-all *)
| _ ->
raise (Error ("unrecognized builtin " ^ name))