Closed llvmbot closed 8 years ago
It turns out this code is generated by LLVM 3.8. The stackpointer lowering code in particular is much improved since then. You should just use tip of tree for WebAssembly, as there has been a lot of development still going on,and we expect plenty more.
Note first testcase added in error! Use second file.
assigned to @dschuff
Extended Description
The attached Basic.ll file will cause this assert in LLC: Assertion failed: I != VRBaseMap.end() && "Node emitted out of order - late", file E:\testcode\llvm\llvm-3.8.0.src\lib\CodeGen\SelectionDAG\InstrEmitter.cpp, line 302
Changing the argument to the Bar function to pass by value, rather than reference makes the assert go away (Basic.works.cpp and Basic.opt.works.ll attached).
Testcase (and makefile showing build steps) attached.
Callstack below