llvm/utils/TableGen
Evan Cheng e4a8a6e645 (store (op (load ...))) folding problem. In the generated matching code,
Chain is initially set to the chain operand of store node, when it reaches
load, if it matches the load then Chain is set to the chain operand of the
load.

However, if the matching code that follows this fails, isel moves on to the
next pattern but it does not restore Chain to the chain operand of the store.
So when it tries to match the next store / op / load pattern it would fail on
the Chain == load.getOperand(0) test.

The solution is for each chain operand to get a unique name. e.g. Chain10.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25931 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-03 06:22:41 +00:00
..
.cvsignore Implement PR614: 2005-08-27 18:50:39 +00:00
AsmWriterEmitter.cpp add a note, ya knoe 2006-02-01 19:12:23 +00:00
AsmWriterEmitter.h Remove trailing whitespace 2005-04-22 00:00:37 +00:00
CodeEmitterGen.cpp Don't emit JIT code for these instructions 2006-01-27 01:39:38 +00:00
CodeEmitterGen.h Remove trailing whitespace 2005-04-22 00:00:37 +00:00
CodeGenInstruction.h * Remove instruction fields hasInFlag / hasOutFlag and added SNDPInFlag and 2006-01-09 18:27:06 +00:00
CodeGenRegisters.h Add support for generating v4i32 altivec code 2005-12-30 00:12:56 +00:00
CodeGenTarget.cpp PHI and INLINEASM are now builtin instructions provided by Target.td 2006-01-27 01:45:06 +00:00
CodeGenTarget.h PHI and INLINEASM are now builtin instructions provided by Target.td 2006-01-27 01:45:06 +00:00
DAGISelEmitter.cpp (store (op (load ...))) folding problem. In the generated matching code, 2006-02-03 06:22:41 +00:00
DAGISelEmitter.h Factor matching code that is common between patterns. This works around 2006-01-29 04:25:26 +00:00
FileLexer.cpp Regenerated the Lex and Yacc output files on Linux. It seems that our 2006-01-17 17:01:34 +00:00
FileLexer.l Tighten up the specification to allow TableGen/nested-comment.td to pass 2005-09-06 21:23:09 +00:00
FileParser.cpp Regenerated the Lex and Yacc output files on Linux. It seems that our 2006-01-17 17:01:34 +00:00
FileParser.h Regenerated the Lex and Yacc output files on Linux. It seems that our 2006-01-17 17:01:34 +00:00
FileParser.y implement test/Regression/TableGen/DagIntSubst.ll 2006-01-31 06:02:35 +00:00
InstrInfoEmitter.cpp If we want to emit things in enum order, use getInstructionsByEnumValue to 2006-01-27 01:44:09 +00:00
InstrInfoEmitter.h Emit itinerary class in instruction info. 2005-10-31 17:16:46 +00:00
Makefile Implement PR614: 2005-08-27 18:50:39 +00:00
Record.cpp implement test/Regression/TableGen/DagIntSubst.ll 2006-01-31 06:02:35 +00:00
Record.h implement test/Regression/TableGen/DagIntSubst.ll 2006-01-31 06:02:35 +00:00
RegisterInfoEmitter.cpp This gets most of the backends building with HP HappyC++. 2005-12-27 10:56:22 +00:00
RegisterInfoEmitter.h Remove trailing whitespace 2005-04-22 00:00:37 +00:00
SubtargetEmitter.cpp Subtarget feature can now set any variable to any value 2006-01-27 08:09:42 +00:00
SubtargetEmitter.h Allow itineraries to be passed through the Target Machine. 2005-11-01 20:06:59 +00:00
TableGen.cpp more standards-compliance stuff 2005-12-26 05:08:55 +00:00
TableGenBackend.cpp Remove trailing whitespace 2005-04-22 00:00:37 +00:00
TableGenBackend.h Remove trailing whitespace 2005-04-22 00:00:37 +00:00