Paweł Bylica
b4ee363394
Cleanups.
10 years ago
Paweł Bylica
efd1ff7bb5
Update llvm::IRBuilder::CreateCall to new API version.
Buildbot bump.
10 years ago
Paweł Bylica
a53d50e9e5
Adjustments for llvm::IRBuilder API changes.
10 years ago
Paweł Bylica
5046dd4bb0
EVM JIT C++ interface in one header.
10 years ago
Paweł Bylica
8e4881bcd0
Code migration.
10 years ago
Paweł Bylica
910732c2cb
Remove div by 0 check in udivrem implementation.
10 years ago
Paweł Bylica
3b8e2996a5
Lower ADDMOD & MULMOD (limited) to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
f041e68cfe
Add edge DIV/MOD cases. Migrate to new udivrem function.
10 years ago
Paweł Bylica
7de220228b
Lower MOD, SDIV & SMOD to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
483403cc91
Lower DIV to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
73cc4e5b97
Return divrem results using vector <2 x i256>
10 years ago
Paweł Bylica
78c97ea0af
Implementation of MUL workaround in "LLVM pass" way.
10 years ago
Paweł Bylica
9aecd10a66
Revert not needed LLVM workarounds
10 years ago
Paweł Bylica
56c3d18582
Remove some LLVM 3.5 bugs workarounds
10 years ago
Paweł Bylica
cc1be11d6c
Constant folding in div-based operators disabled
There is a bug in LLVM arbitrary precision division algorithm.
10 years ago
Paweł Bylica
609a811753
Fixes and workarounds
- Fix data copy: padding memory was not zero'd.
- Fix inter-block stack optimization: incorrect phi node in first block.
- Workaround incorrect llvm::APInt::urem() implementation.
10 years ago
Paweł Bylica
7476979d0b
Style corrections, optimized but notworking mul256 implementation removed
10 years ago
Paweł Bylica
5e3cf7f297
Ad-hoc constant fold arithmetic instructions
10 years ago
Paweł Bylica
cf236b6f9c
Mark arithmetic functions with nounwind and readnone attributes
10 years ago
Paweł Bylica
7d7e6ec7f5
Using logs utils from LLVM
10 years ago
Gav Wood
e185d9a117
Add EVMJIT.
10 years ago
Gav Wood
b9e4bbbc14
Compile warning fix.
10 years ago
Paweł Bylica
e15859ed27
Windows fixes
10 years ago
Paweł Bylica
c95c1c81f4
Cleanup ExecutionEngine creation
10 years ago
Paweł Bylica
3aa2f066dd
Workaround for buggy LLVM shl operator for i512
10 years ago
Paweł Bylica
8b8d9d1df0
Helper function name fix
10 years ago
Paweł Bylica
3365f3f438
#include cleanups
10 years ago
Paweł Bylica
553c47ebcf
Move mul512 function to LLVM
10 years ago
Paweł Bylica
b22f672f0b
Move mul function to LLVM
10 years ago
Paweł Bylica
d7f521298b
Remove Windows testing code
10 years ago
Paweł Bylica
96980ef0dd
uint128 implementation for Windows and fixes arithmetic functions
10 years ago
Paweł Bylica
97560b7748
Check if uint128 is enabled
10 years ago
Paweł Bylica
e15906f93e
Remove gmp dependency
10 years ago
Paweł Bylica
259a06e72b
New addmod algorithm
10 years ago
Paweł Bylica
2f2b101592
New mulmod algorithm
10 years ago
Paweł Bylica
2865ce9621
New exp algorithm
10 years ago
Paweł Bylica
fe1a466b3e
New unsigned div algorithm
10 years ago
Paweł Bylica
871487c4de
Reimplementation of sdiv. Delegates work to div.
10 years ago
Paweł Bylica
d648dc7cfe
Combine div & mod into one function
10 years ago
Paweł Bylica
bc0a91602f
Do not accept contract code with gas greater than 2^63. Keep gas counter in int64 type.
10 years ago
Paweł Bylica
bf9dbce468
Removing boost dependency from libevmjit
10 years ago
Paweł Bylica
6088699c24
Implementation of SDIV & SMOD with gmp
10 years ago
Paweł Bylica
f7763299fb
Implementation of ADDMOD & MULMOD with gmp
10 years ago
Paweł Bylica
557027577a
Implementation of EXP with gmp
10 years ago
Paweł Bylica
460c8fac2f
Implementation of DIV & MOD with gmp library
10 years ago
Paweł Bylica
0b4d298112
Internal mul256 implementation
10 years ago
Paweł Bylica
c9ddc4468a
Temporary remove evmjit subtree
10 years ago