mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-21 04:06:44 +00:00
Fixed the order in which phi nodes are created (was incorrect)
[#80895676]
This commit is contained in:
parent
aaf0f7dd87
commit
701d99e052
5 changed files with 9 additions and 3 deletions
|
|
@ -2,4 +2,5 @@ let fib n =
|
|||
if n < 3 then 1
|
||||
else fib (n-1) + fib (n-2)
|
||||
|
||||
return fib 5
|
||||
return fib 10
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
630000000d60056300000016585d60005460206000f28060030a630000004759630000002f816001036300000016585d630000003f836002036300000016585d0163000000495860019350505058
|
||||
6007600a6010585d60005460206000f26003810a602f596020600282036010585d602a600183036010585d01603158600190509058
|
||||
4
evmcc/test/jump/rec1.ethel
Normal file
4
evmcc/test/jump/rec1.ethel
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
let f n =
|
||||
if n == 0 then 2 else f (n-1)
|
||||
|
||||
return f 10
|
||||
1
evmcc/test/jump/rec1.evm
Normal file
1
evmcc/test/jump/rec1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
6007600a6010585d60005460206000f26000810e6024596020600182036010585d602658600290509058
|
||||
|
|
@ -52,7 +52,7 @@ llvm::Value* BasicBlock::LocalStack::get(size_t _index)
|
|||
m_backend.insert(m_backend.begin(), nMissingVals, nullptr);
|
||||
for (decltype(nMissingVals) i = 0; i < nMissingVals; ++i)
|
||||
{
|
||||
m_backend[i] = m_llvmBB->empty() ?
|
||||
m_backend[nMissingVals - 1 - i] = m_llvmBB->empty() ?
|
||||
llvm::PHINode::Create(Type::i256, 0, {}, m_llvmBB) :
|
||||
llvm::PHINode::Create(Type::i256, 0, {}, m_llvmBB->getFirstNonPHI());
|
||||
m_numRequiredStackItems += 1;
|
||||
|
|
|
|||
Loading…
Reference in a new issue