Change one ReplaceAllUsesWith method to take an array of operands to replace

instead of a vector of operands.

llvm-svn: 29616
This commit is contained in:
Chris Lattner 2006-08-11 17:46:28 +00:00
parent 693e52ea22
commit a2f4086828
2 changed files with 5 additions and 6 deletions

View File

@ -81,7 +81,7 @@ namespace {
std::cerr << "\nWith: "; To[0].Val->dump(&DAG);
std::cerr << " and " << To.size()-1 << " other values\n");
std::vector<SDNode*> NowDead;
DAG.ReplaceAllUsesWith(N, To, &NowDead);
DAG.ReplaceAllUsesWith(N, &To[0], &NowDead);
// Push the new nodes and any users onto the worklist
for (unsigned i = 0, e = To.size(); i != e; ++i) {
@ -416,7 +416,8 @@ void DAGCombiner::Run(bool RunningAfterLegalize) {
std::cerr << "\nWith: "; RV.Val->dump(&DAG);
std::cerr << '\n');
std::vector<SDNode*> NowDead;
DAG.ReplaceAllUsesWith(N, std::vector<SDOperand>(1, RV), &NowDead);
SDOperand OpV = RV;
DAG.ReplaceAllUsesWith(N, &OpV, &NowDead);
// Push the new node and any users onto the worklist
WorkList.push_back(RV.Val);

View File

@ -2441,11 +2441,9 @@ void SelectionDAG::ReplaceAllUsesWith(SDNode *From, SDNode *To,
/// This version can replace From with any result values. To must match the
/// number and types of values returned by From.
void SelectionDAG::ReplaceAllUsesWith(SDNode *From,
const std::vector<SDOperand> &To,
const SDOperand *To,
std::vector<SDNode*> *Deleted) {
assert(From->getNumValues() == To.size() &&
"Incorrect number of values to replace with!");
if (To.size() == 1 && To[0].Val->getNumValues() == 1) {
if (From->getNumValues() == 1 && To[0].Val->getNumValues() == 1) {
// Degenerate case handled above.
ReplaceAllUsesWith(SDOperand(From, 0), To[0], Deleted);
return;