mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-20 09:30:43 +00:00
481c8e0501
if (!N.Val->hasOneUse()) { std::map<SDOperand, SDOperand>::iterator CGMI = CodeGenMap.find(N); if (CGMI != CodeGenMap.end()) return CGMI->second; } Suppose a DAG like this: X ^ ^ / \ USE1 USE2 Suppose USE1 is being selected first and during which X is selected and returned a new node. After this, USE1 is no longer an use of X. During USE2 selection, X will be selected again since it has only one use! The fix is to always query CodeGenMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24679 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
.cvsignore | ||
AsmWriterEmitter.cpp | ||
AsmWriterEmitter.h | ||
CodeEmitterGen.cpp | ||
CodeEmitterGen.h | ||
CodeGenInstruction.h | ||
CodeGenRegisters.h | ||
CodeGenTarget.cpp | ||
CodeGenTarget.h | ||
DAGISelEmitter.cpp | ||
DAGISelEmitter.h | ||
FileLexer.cpp | ||
FileLexer.l | ||
FileParser.cpp | ||
FileParser.h | ||
FileParser.y | ||
InstrInfoEmitter.cpp | ||
InstrInfoEmitter.h | ||
Makefile | ||
Record.cpp | ||
Record.h | ||
RegisterInfoEmitter.cpp | ||
RegisterInfoEmitter.h | ||
SubtargetEmitter.cpp | ||
SubtargetEmitter.h | ||
TableGen.cpp | ||
TableGenBackend.cpp | ||
TableGenBackend.h |