Browse Source

Merge branch 'develop-evmcc' of github.com:imapp-pl/ethereum into develop-evmcc

cl-refactor
artur-zawlocki 10 years ago
parent
commit
8e717a669e
  1. 19
      libevmjit/Compiler.cpp
  2. 2
      windows/LibEvmJit.vcxproj
  3. 6
      windows/LibEvmJit.vcxproj.filters

19
libevmjit/Compiler.cpp

@ -875,6 +875,25 @@ void Compiler::compileBasicBlock(BasicBlock& basicBlock, bytesConstRef bytecode,
void Compiler::linkBasicBlocks(Stack& stack)
{
// Remove dead basic blocks
auto sthErased = false;
do
{
sthErased = false;
for (auto it = basicBlocks.begin(); it != basicBlocks.end();)
{
auto llvmBB = it->second.llvm();
if (llvm::pred_begin(llvmBB) == llvm::pred_end(llvmBB))
{
llvmBB->eraseFromParent();
basicBlocks.erase(it++);
sthErased = true;
}
else
++it;
}
} while (sthErased);
struct BBInfo
{
BasicBlock& bblock;

2
windows/LibEvmJit.vcxproj

@ -132,6 +132,7 @@
<ClCompile Include="..\libevmjit\GasMeter.cpp" />
<ClCompile Include="..\libevmjit\Memory.cpp" />
<ClCompile Include="..\libevmjit\Runtime.cpp" />
<ClCompile Include="..\libevmjit\Stack.cpp" />
<ClCompile Include="..\libevmjit\Type.cpp" />
<ClCompile Include="..\libevmjit\Utils.cpp" />
<ClCompile Include="..\libevmjit\VM.cpp" />
@ -146,6 +147,7 @@
<ClInclude Include="..\libevmjit\GasMeter.h" />
<ClInclude Include="..\libevmjit\Memory.h" />
<ClInclude Include="..\libevmjit\Runtime.h" />
<ClInclude Include="..\libevmjit\Stack.h" />
<ClInclude Include="..\libevmjit\Type.h" />
<ClInclude Include="..\libevmjit\Utils.h" />
<ClInclude Include="..\libevmjit\VM.h" />

6
windows/LibEvmJit.vcxproj.filters

@ -42,6 +42,9 @@
<ClCompile Include="..\libevmjit\Endianness.cpp">
<Filter>libevmjit</Filter>
</ClCompile>
<ClCompile Include="..\libevmjit\Stack.cpp">
<Filter>libevmjit</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\libevmjit\BasicBlock.h">
@ -80,5 +83,8 @@
<ClInclude Include="..\libevmjit\Endianness.h">
<Filter>libevmjit</Filter>
</ClInclude>
<ClInclude Include="..\libevmjit\Stack.h">
<Filter>libevmjit</Filter>
</ClInclude>
</ItemGroup>
</Project>
Loading…
Cancel
Save