OLD | NEW |
1 //===- subzero/src/IceRegAlloc.cpp - Linear-scan implementation -----------===// | 1 //===- subzero/src/IceRegAlloc.cpp - Linear-scan 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 /// \file | 10 /// \file |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 if (Iter.PreferReg == i) | 897 if (Iter.PreferReg == i) |
898 Iter.AllowOverlap = false; | 898 Iter.AllowOverlap = false; |
899 } | 899 } |
900 } | 900 } |
901 | 901 |
902 // Print info about physical register availability. | 902 // Print info about physical register availability. |
903 if (BuildDefs::dump() && Verbose) { | 903 if (BuildDefs::dump() && Verbose) { |
904 Ostream &Str = Ctx->getStrDump(); | 904 Ostream &Str = Ctx->getStrDump(); |
905 for (SizeT i = 0; i < Iter.RegMask.size(); ++i) { | 905 for (SizeT i = 0; i < Iter.RegMask.size(); ++i) { |
906 if (Iter.RegMask[i]) { | 906 if (Iter.RegMask[i]) { |
907 Str << Target->getRegName(i, IceType_i32) << "(U=" << RegUses[i] | 907 Str << Target->getRegName(i, Iter.Cur->getType()) |
908 << ",F=" << Iter.Free[i] | 908 << "(U=" << RegUses[i] << ",F=" << Iter.Free[i] |
909 << ",P=" << Iter.PrecoloredUnhandledMask[i] << ") "; | 909 << ",P=" << Iter.PrecoloredUnhandledMask[i] << ") "; |
910 } | 910 } |
911 } | 911 } |
912 Str << "\n"; | 912 Str << "\n"; |
913 } | 913 } |
914 | 914 |
915 if (Iter.Prefer && (Iter.AllowOverlap || Iter.Free[Iter.PreferReg])) { | 915 if (Iter.Prefer && (Iter.AllowOverlap || Iter.Free[Iter.PreferReg])) { |
916 // First choice: a preferred register that is either free or is allowed to | 916 // First choice: a preferred register that is either free or is allowed to |
917 // overlap with its linked variable. | 917 // overlap with its linked variable. |
918 allocatePreferredRegister(Iter); | 918 allocatePreferredRegister(Iter); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
978 Str << "\n"; | 978 Str << "\n"; |
979 } | 979 } |
980 Str << "++++++ Inactive:\n"; | 980 Str << "++++++ Inactive:\n"; |
981 for (const Variable *Item : Inactive) { | 981 for (const Variable *Item : Inactive) { |
982 dumpLiveRange(Item, Func); | 982 dumpLiveRange(Item, Func); |
983 Str << "\n"; | 983 Str << "\n"; |
984 } | 984 } |
985 } | 985 } |
986 | 986 |
987 } // end of namespace Ice | 987 } // end of namespace Ice |
OLD | NEW |