projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3748147
)
memoize the assert results
author
Chris Lattner
<sabre@nondot.org>
Mon, 26 Sep 2005 22:10:24 +0000
(22:10 +0000)
committer
Chris Lattner
<sabre@nondot.org>
Mon, 26 Sep 2005 22:10:24 +0000
(22:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23457
91177308
-0d34-0410-b5e6-
96231b3b80d8
utils/TableGen/DAGISelEmitter.cpp
patch
|
blob
|
history
diff --git
a/utils/TableGen/DAGISelEmitter.cpp
b/utils/TableGen/DAGISelEmitter.cpp
index bd439093c17dcebe5228d582c141a8b9dd3968dd..27c0dfab2ef7311ef7e905bae990192f72f1d82d 100644
(file)
--- a/
utils/TableGen/DAGISelEmitter.cpp
+++ b/
utils/TableGen/DAGISelEmitter.cpp
@@
-1230,8
+1230,11
@@
void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) {
<< " case ISD::EntryToken: // These leaves remain the same.\n"
<< " return N;\n"
<< " case ISD::AssertSext:\n"
- << " case ISD::AssertZext:\n"
- << " return Select(N.getOperand(0));\n";
+ << " case ISD::AssertZext: {\n"
+ << " SDOperand Tmp0 = Select(N.getOperand(0));\n"
+ << " if (!N.Val->hasOneUse()) CodeGenMap[N] = Tmp0;\n"
+ << " return Tmp0;\n"
+ << " }\n";
// Group the patterns by their top-level opcodes.
std::map<Record*, std::vector<PatternToMatch*>,