[sledge] Ignore llvm.invariant.{start,end} instructions

Summary:
These tell llvm that contents of memory will not change during
execution of some code, which the analyzer does not need.

Reviewed By: jvillard

Differential Revision: D14385597

fbshipit-source-id: 0ef566a6f
master
Josh Berdine 6 years ago committed by Facebook Github Bot
parent d10d30c5f0
commit fe60b75ea0

@ -938,7 +938,7 @@ let xlate_instr :
| _ when Option.is_some (xlate_intrinsic_exp fname) ->
continue (fun (insts, term) -> (insts, term, []))
| ["llvm"; "dbg"; ("declare" | "value")]
|"llvm" :: "lifetime" :: ("start" | "end") :: _ ->
|"llvm" :: ("lifetime" | "invariant") :: ("start" | "end") :: _ ->
continue (fun (insts, term) -> (insts, term, []))
| ["llvm"; ("stacksave" | "stackrestore")] ->
todo "stack allocation after function entry:@ %a" pp_llvalue instr

Loading…
Cancel
Save