diff options
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.cpp')
-rw-r--r-- | utils/TableGen/DAGISelEmitter.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp index c3520c1..0c78f56 100644 --- a/utils/TableGen/DAGISelEmitter.cpp +++ b/utils/TableGen/DAGISelEmitter.cpp @@ -1359,7 +1359,7 @@ public: Pat->setTypes(Other->getExtTypes()); // The top level node type is checked outside of the select function. if (!isRoot) - emitCheck(Prefix + ".getNode()->getValueType(0) == " + + emitCheck(Prefix + ".getValueType() == " + getName(Pat->getTypeNum(0))); return true; } @@ -1786,11 +1786,7 @@ void DAGISelEmitter::EmitInstructionSelector(raw_ostream &OS) { } CallerCode += ");"; - CalleeCode += ") "; - // Prevent emission routines from being inlined to reduce selection - // routines stack frame sizes. - CalleeCode += "DISABLE_INLINE "; - CalleeCode += "{\n"; + CalleeCode += ") {\n"; for (std::vector<std::string>::const_reverse_iterator I = AddedInits.rbegin(), E = AddedInits.rend(); I != E; ++I) @@ -1811,6 +1807,9 @@ void DAGISelEmitter::EmitInstructionSelector(raw_ostream &OS) { } else { EmitFuncNum = EmitFunctions.size(); EmitFunctions.insert(std::make_pair(CalleeCode, EmitFuncNum)); + // Prevent emission routines from being inlined to reduce selection + // routines stack frame sizes. + OS << "DISABLE_INLINE "; OS << "SDNode *Emit_" << utostr(EmitFuncNum) << CalleeCode; } |