| OLD | NEW | 
|---|
| 1 //===- subzero/src/IceOperand.cpp - High-level operand implementation -----===// | 1 //===- subzero/src/IceOperand.cpp - High-level operand implementation -----===// | 
| 2 // | 2 // | 
| 3 //                        The Subzero Code Generator | 3 //                        The Subzero Code Generator | 
| 4 // | 4 // | 
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source | 
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. | 
| 7 // | 7 // | 
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// | 
| 9 // | 9 // | 
| 10 // This file implements the Operand class and its target-independent | 10 // This file implements the Operand class and its target-independent | 
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 343         const bool IsFromDef = false; | 343         const bool IsFromDef = false; | 
| 344         const bool IsImplicit = false; | 344         const bool IsImplicit = false; | 
| 345         Metadata[VarNum].markUse(Kind, I, Node, IsFromDef, IsImplicit); | 345         Metadata[VarNum].markUse(Kind, I, Node, IsFromDef, IsImplicit); | 
| 346       } | 346       } | 
| 347     } | 347     } | 
| 348   } | 348   } | 
| 349 | 349 | 
| 350   for (Inst *I : Node->getInsts()) { | 350   for (Inst *I : Node->getInsts()) { | 
| 351     if (I->isDeleted()) | 351     if (I->isDeleted()) | 
| 352       continue; | 352       continue; | 
| 353     if (InstFakeKill *Kill = llvm::dyn_cast<InstFakeKill>(I)) { | 353     // Note: The implicit definitions (and uses) from InstFakeKill are | 
| 354       // A FakeKill instruction indicates certain Variables (usually | 354     // deliberately ignored. | 
| 355       // physical scratch registers) are redefined, so we register |  | 
| 356       // them as defs. |  | 
| 357       for (SizeT SrcNum = 0; SrcNum < I->getSrcSize(); ++SrcNum) { |  | 
| 358         Variable *Var = llvm::cast<Variable>(I->getSrc(SrcNum)); |  | 
| 359         SizeT VarNum = Var->getIndex(); |  | 
| 360         assert(VarNum < Metadata.size()); |  | 
| 361         Metadata[VarNum].markDef(Kind, Kill, Node); |  | 
| 362       } |  | 
| 363       continue; // no point in executing the rest |  | 
| 364     } |  | 
| 365     if (Variable *Dest = I->getDest()) { | 355     if (Variable *Dest = I->getDest()) { | 
| 366       SizeT DestNum = Dest->getIndex(); | 356       SizeT DestNum = Dest->getIndex(); | 
| 367       assert(DestNum < Metadata.size()); | 357       assert(DestNum < Metadata.size()); | 
| 368       Metadata[DestNum].markDef(Kind, I, Node); | 358       Metadata[DestNum].markDef(Kind, I, Node); | 
| 369     } | 359     } | 
| 370     for (SizeT SrcNum = 0; SrcNum < I->getSrcSize(); ++SrcNum) { | 360     for (SizeT SrcNum = 0; SrcNum < I->getSrcSize(); ++SrcNum) { | 
| 371       Operand *Src = I->getSrc(SrcNum); | 361       Operand *Src = I->getSrc(SrcNum); | 
| 372       SizeT NumVars = Src->getNumVars(); | 362       SizeT NumVars = Src->getNumVars(); | 
| 373       for (SizeT J = 0; J < NumVars; ++J) { | 363       for (SizeT J = 0; J < NumVars; ++J) { | 
| 374         const Variable *Var = Src->getVar(J); | 364         const Variable *Var = Src->getVar(J); | 
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 518 | 508 | 
| 519 Ostream &operator<<(Ostream &Str, const RegWeight &W) { | 509 Ostream &operator<<(Ostream &Str, const RegWeight &W) { | 
| 520   if (W.getWeight() == RegWeight::Inf) | 510   if (W.getWeight() == RegWeight::Inf) | 
| 521     Str << "Inf"; | 511     Str << "Inf"; | 
| 522   else | 512   else | 
| 523     Str << W.getWeight(); | 513     Str << W.getWeight(); | 
| 524   return Str; | 514   return Str; | 
| 525 } | 515 } | 
| 526 | 516 | 
| 527 } // end of namespace Ice | 517 } // end of namespace Ice | 
| OLD | NEW | 
|---|