From 8775b9cf6c716f51fe90d668e734a1288c8b5404 Mon Sep 17 00:00:00 2001 From: Lukas Zaoral Date: Wed, 7 Jul 2021 10:33:46 +0200 Subject: llvm12: Implement llvm.abs intrinsic The vector variants are not implemented at the moment. See: https://reviews.llvm.org/D84125 Co-authored-by: Lukas Zaoral Co-authored-by: Martin Nowack --- test/Intrinsics/abs-overflow.ll | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 test/Intrinsics/abs-overflow.ll (limited to 'test/Intrinsics/abs-overflow.ll') diff --git a/test/Intrinsics/abs-overflow.ll b/test/Intrinsics/abs-overflow.ll new file mode 100644 index 00000000..33b47ecf --- /dev/null +++ b/test/Intrinsics/abs-overflow.ll @@ -0,0 +1,12 @@ +; REQUIRES: geq-llvm-12.0 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out --optimize=false %s 2> %t.stderr.log +; RUN: FileCheck %s < %t.stderr.log + +define i32 @main() { + %1 = call i32 @llvm.abs.i32(i32 -2147483648, i1 true) + ; CHECK: llvm.abs called with poison and INT_MIN + ret i32 0 +} + +declare i32 @llvm.abs.i32(i32, i1 immarg) -- cgit 1.4.1