OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// | 1 //===- subzero/src/IceTargetLoweringX8632.cpp - x86-32 lowering -----------===// |
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 TargetLoweringX8632 class, which | 10 // This file implements the TargetLoweringX8632 class, which |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 return; | 347 return; |
348 | 348 |
349 // Register allocation. This requires instruction renumbering and | 349 // Register allocation. This requires instruction renumbering and |
350 // full liveness analysis. | 350 // full liveness analysis. |
351 Func->renumberInstructions(); | 351 Func->renumberInstructions(); |
352 if (Func->hasError()) | 352 if (Func->hasError()) |
353 return; | 353 return; |
354 Func->liveness(Liveness_Intervals); | 354 Func->liveness(Liveness_Intervals); |
355 if (Func->hasError()) | 355 if (Func->hasError()) |
356 return; | 356 return; |
357 // Validate the live range computations. Do it outside the timing | 357 // Validate the live range computations. The expensive validation |
358 // code. TODO: Put this under a flag. | 358 // call is deliberately only made when assertions are enabled. |
359 bool ValidLiveness = Func->validateLiveness(); | 359 assert(Func->validateLiveness()); |
360 assert(ValidLiveness); | |
361 (void)ValidLiveness; // used only in assert() | |
362 ComputedLiveRanges = true; | 360 ComputedLiveRanges = true; |
363 // The post-codegen dump is done here, after liveness analysis and | 361 // The post-codegen dump is done here, after liveness analysis and |
364 // associated cleanup, to make the dump cleaner and more useful. | 362 // associated cleanup, to make the dump cleaner and more useful. |
365 Func->dump("After initial x8632 codegen"); | 363 Func->dump("After initial x8632 codegen"); |
366 Func->getVMetadata()->init(); | 364 Func->getVMetadata()->init(); |
367 regAlloc(); | 365 regAlloc(); |
368 if (Func->hasError()) | 366 if (Func->hasError()) |
369 return; | 367 return; |
370 Func->dump("After linear scan regalloc"); | 368 Func->dump("After linear scan regalloc"); |
371 | 369 |
(...skipping 4154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4526 Str << "\t.align\t" << Align << "\n"; | 4524 Str << "\t.align\t" << Align << "\n"; |
4527 Str << MangledName << ":\n"; | 4525 Str << MangledName << ":\n"; |
4528 for (SizeT i = 0; i < Size; ++i) { | 4526 for (SizeT i = 0; i < Size; ++i) { |
4529 Str << "\t.byte\t" << (((unsigned)Data[i]) & 0xff) << "\n"; | 4527 Str << "\t.byte\t" << (((unsigned)Data[i]) & 0xff) << "\n"; |
4530 } | 4528 } |
4531 Str << "\t.size\t" << MangledName << ", " << Size << "\n"; | 4529 Str << "\t.size\t" << MangledName << ", " << Size << "\n"; |
4532 } | 4530 } |
4533 } | 4531 } |
4534 | 4532 |
4535 } // end of namespace Ice | 4533 } // end of namespace Ice |
OLD | NEW |