From 81909abf23e8f797e30de2a2488c48d54da047c7 Mon Sep 17 00:00:00 2001 From: Josh Berdine Date: Tue, 14 May 2019 06:23:13 -0700 Subject: [PATCH] [sledge] Model llvm.trap as nop Summary: llvm.trap is noreturn nounwind so calls to it are always succeeded by Unreachable, therefore unless an alarm is desired for reaching it, translating it as nop suffices. Reviewed By: ngorogiannis Differential Revision: D15328302 fbshipit-source-id: 54efe6c21 --- sledge/src/llair/frontend.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sledge/src/llair/frontend.ml b/sledge/src/llair/frontend.ml index 5c8ff8249..816554f76 100644 --- a/sledge/src/llair/frontend.ml +++ b/sledge/src/llair/frontend.ml @@ -952,7 +952,8 @@ let xlate_instr : emit_inst (Llair.Inst.memmov ~dst ~src ~len ~loc) (* dropped / handled elsewhere *) | ["llvm"; "dbg"; ("declare" | "value")] - |"llvm" :: ("lifetime" | "invariant") :: ("start" | "end") :: _ -> + |"llvm" :: ("lifetime" | "invariant") :: ("start" | "end") :: _ + |["llvm"; "trap"] -> nop () (* unimplemented *) | ["llvm"; ("stacksave" | "stackrestore")] ->