Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Color

69     // AllColors - If index is set, it's a spill slot, i.e. color.
72 // index == better color.
75 // NextColor - Next "color" that's not yet used.
81 // Assignments - Color to intervals mapping.
107 bool OverlapWithAssignments(LiveInterval *li, int Color) const;
213 // Get first "color".
218 /// LiveIntervals that have already been assigned to the specified color.
220 StackSlotColoring::OverlapWithAssignments(LiveInterval *li, int Color) const {
221 const SmallVectorImpl<LiveInterval *> &OtherLIs = Assignments[Color];
230 /// ColorSlot - Assign a "color" (stack slot) to the specified stack slot.
233 int Color = -1;
237 Color = UsedColors.find_first();
238 while (Color != -1) {
239 if (!OverlapWithAssignments(li, Color)) {
244 Color = UsedColors.find_next(Color);
248 // Assign it to the first available color (assumed to be the best) if it's
249 // not possible to share a used color with other objects.
252 Color = NextColor;
253 UsedColors.set(Color);
258 Assignments[Color].push_back(li);
260 DEBUG(dbgs() << "Assigning fi#" << FI << " to fi#" << Color << "\n");
266 if (!Share || Align > MFI->getObjectAlignment(Color))
267 MFI->setObjectAlignment(Color, Align);
269 if (!Share || Size > MFI->getObjectSize(Color))
270 MFI->setObjectSize(Color, Size);
271 return Color;
274 /// Colorslots - Color all spill stack slots and rewrite all frameindex machine
283 DEBUG(dbgs() << "Color spill slot intervals:\n");