DAGISelEmitter.cpp (199989) | DAGISelEmitter.cpp (201360) |
---|---|
1//===- DAGISelEmitter.cpp - Generate an instruction selector --------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 1278 unchanged lines hidden (view full) --- 1287 After.push_back("ReplaceUses(Froms, Tos, " + 1288 itostr(ReplaceFroms.size()) + ");"); 1289 } 1290 1291 // We prefer to use SelectNodeTo since it avoids allocation when 1292 // possible and it avoids CSE map recalculation for the node's 1293 // users, however it's tricky to use in a non-root context. 1294 // | 1//===- DAGISelEmitter.cpp - Generate an instruction selector --------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 1278 unchanged lines hidden (view full) --- 1287 After.push_back("ReplaceUses(Froms, Tos, " + 1288 itostr(ReplaceFroms.size()) + ");"); 1289 } 1290 1291 // We prefer to use SelectNodeTo since it avoids allocation when 1292 // possible and it avoids CSE map recalculation for the node's 1293 // users, however it's tricky to use in a non-root context. 1294 // |
1295 // We also don't use if the pattern replacement is being used to 1296 // jettison a chain result, since morphing the node in place | 1295 // We also don't use SelectNodeTo if the pattern replacement is being 1296 // used to jettison a chain result, since morphing the node in place |
1297 // would leave users of the chain dangling. 1298 // 1299 if (!isRoot || (InputHasChain && !NodeHasChain)) { 1300 Code = "CurDAG->getMachineNode(" + Code; 1301 } else { 1302 Code = "CurDAG->SelectNodeTo(N.getNode(), " + Code; 1303 } 1304 if (isRoot) { --- 748 unchanged lines hidden --- | 1297 // would leave users of the chain dangling. 1298 // 1299 if (!isRoot || (InputHasChain && !NodeHasChain)) { 1300 Code = "CurDAG->getMachineNode(" + Code; 1301 } else { 1302 Code = "CurDAG->SelectNodeTo(N.getNode(), " + Code; 1303 } 1304 if (isRoot) { --- 748 unchanged lines hidden --- |