Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN,
authorMichael Zolotukhin <mzolotukhin@apple.com>
Mon, 21 Apr 2014 05:33:09 +0000 (05:33 +0000)
committerMichael Zolotukhin <mzolotukhin@apple.com>
Mon, 21 Apr 2014 05:33:09 +0000 (05:33 +0000)
commit7d5100d14edd6d1595cc60ce5f89b64bfc564ef4
tree8032a932e0cf8fbccd0ddd3083c69aff432fe8e7
parent29e0c0b57cb6002565b5b84b15864357947914b3
Implement builtins for safe division: safe.sdiv.iN, safe.udiv.iN, safe.srem.iN,
safe.urem.iN (iN = i8, i16, i32, or i64).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206732 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Intrinsics.td
include/llvm/Target/TargetLowering.h
lib/CodeGen/CodeGenPrepare.cpp
lib/CodeGen/TargetLoweringBase.cpp
lib/Target/ARM64/ARM64ISelLowering.cpp
test/CodeGen/ARM64/SafeDivRemIntrinsics-Opts.ll [new file with mode: 0644]
test/CodeGen/ARM64/SafeDivRemIntrinsics.ll [new file with mode: 0644]
test/CodeGen/X86/SafeDivRemIntrinsics-Opts.ll [new file with mode: 0644]
test/CodeGen/X86/SafeDivRemIntrinsics.ll [new file with mode: 0644]