Browse Source

Type usage and other cleanups

cl-refactor
Paweł Bylica 10 years ago
parent
commit
30f0a7a894
  1. 2
      libevmjit/Compiler.cpp
  2. 21
      libevmjit/Ext.cpp
  3. 1
      libevmjit/Ext.h

2
libevmjit/Compiler.cpp

@ -488,7 +488,7 @@ void Compiler::compileBasicBlock(BasicBlock& _basicBlock, bytes const& _bytecode
// test for word >> (k * 8 + 7) // test for word >> (k * 8 + 7)
auto bitpos = m_builder.CreateAdd(k32x8, Constant::get(7), "bitpos"); auto bitpos = m_builder.CreateAdd(k32x8, Constant::get(7), "bitpos");
auto bitval = m_builder.CreateLShr(word, bitpos, "bitval"); auto bitval = m_builder.CreateLShr(word, bitpos, "bitval");
auto bittest = m_builder.CreateTrunc(bitval, m_builder.getInt1Ty(), "bittest"); auto bittest = m_builder.CreateTrunc(bitval, Type::Bool, "bittest");
auto mask_ = m_builder.CreateShl(Constant::get(1), bitpos); auto mask_ = m_builder.CreateShl(Constant::get(1), bitpos);
auto mask = m_builder.CreateSub(mask_, Constant::get(1), "mask"); auto mask = m_builder.CreateSub(mask_, Constant::get(1), "mask");

21
libevmjit/Ext.cpp

@ -24,20 +24,17 @@ Ext::Ext(RuntimeManager& _runtimeManager, Memory& _memoryMan):
RuntimeHelper(_runtimeManager), RuntimeHelper(_runtimeManager),
m_memoryMan(_memoryMan) m_memoryMan(_memoryMan)
{ {
auto&& ctx = m_builder.getContext();
auto module = getModule(); auto module = getModule();
auto i256Ty = m_builder.getIntNTy(256); m_args[0] = m_builder.CreateAlloca(Type::Word, nullptr, "ext.index");
m_args[1] = m_builder.CreateAlloca(Type::Word, nullptr, "ext.value");
m_args[0] = m_builder.CreateAlloca(i256Ty, nullptr, "ext.index"); m_arg2 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg2");
m_args[1] = m_builder.CreateAlloca(i256Ty, nullptr, "ext.value"); m_arg3 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg3");
m_arg2 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg2"); m_arg4 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg4");
m_arg3 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg3"); m_arg5 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg5");
m_arg4 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg4"); m_arg6 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg6");
m_arg5 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg5"); m_arg7 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg7");
m_arg6 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg6"); m_arg8 = m_builder.CreateAlloca(Type::Word, nullptr, "ext.arg8");
m_arg7 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg7");
m_arg8 = m_builder.CreateAlloca(i256Ty, nullptr, "ext.arg8");
m_size = m_builder.CreateAlloca(Type::Size, nullptr, "env.size"); m_size = m_builder.CreateAlloca(Type::Size, nullptr, "env.size");
using Linkage = llvm::GlobalValue::LinkageTypes; using Linkage = llvm::GlobalValue::LinkageTypes;

1
libevmjit/Ext.h

@ -58,7 +58,6 @@ private:
llvm::Function* m_create; llvm::Function* m_create;
llvm::Function* m_call; llvm::Function* m_call;
llvm::Function* m_sha3; llvm::Function* m_sha3;
llvm::Function* m_exp;
llvm::Function* m_getExtCode; llvm::Function* m_getExtCode;
llvm::Function* m_log; llvm::Function* m_log;
}; };

Loading…
Cancel
Save