diff options
author | Michael Ilseman <milseman@apple.com> | 2012-09-26 01:55:01 +0000 |
---|---|---|
committer | Michael Ilseman <milseman@apple.com> | 2012-09-26 01:55:01 +0000 |
commit | b55462bcfb9acbf8654dff83159daf695dfc3ec4 (patch) | |
tree | 2cef07a819787c5867ee86de511e8b2def6a3d64 /include/llvm/Transforms/Utils/IntegerDivision.h | |
parent | 85042e658558e32a168a91379d158e6d694d6530 (diff) | |
download | external_llvm-b55462bcfb9acbf8654dff83159daf695dfc3ec4.zip external_llvm-b55462bcfb9acbf8654dff83159daf695dfc3ec4.tar.gz external_llvm-b55462bcfb9acbf8654dff83159daf695dfc3ec4.tar.bz2 |
Expansions for u/srem, using the udiv expansion. More unit tests for udiv and u/srem.
Fixed issue with Release build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164654 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/Utils/IntegerDivision.h')
-rw-r--r-- | include/llvm/Transforms/Utils/IntegerDivision.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Transforms/Utils/IntegerDivision.h b/include/llvm/Transforms/Utils/IntegerDivision.h index 8d3f53e..cecc807 100644 --- a/include/llvm/Transforms/Utils/IntegerDivision.h +++ b/include/llvm/Transforms/Utils/IntegerDivision.h @@ -23,6 +23,16 @@ namespace llvm { namespace llvm { + /// Generate code to calculate the remainder of two integers, replacing Rem + /// with the generated code. This currently generates code using the udiv + /// expansion, but future work includes generating more specialized code, + /// e.g. when more information about the operands are known. Currently only + /// implements 32bit scalar division (due to udiv's limitation), but future + /// work is removing this limitation. + /// + /// @brief Replace Rem with generated code. + bool expandRemainder(BinaryOperator *Rem); + /// Generate code to divide two integers, replacing Div with the generated /// code. This currently generates code similarly to compiler-rt's /// implementations, but future work includes generating more specialized code |