| OLD | NEW |
| 1 //===- subzero/src/IceTargetLoweringX86BaseImpl.h - x86 lowering -*- C++ -*-==// | 1 //===- subzero/src/IceTargetLoweringX86BaseImpl.h - x86 lowering -*- C++ -*-==// |
| 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 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 // Run this early so it can be used to focus optimizations on potentially hot | 469 // Run this early so it can be used to focus optimizations on potentially hot |
| 470 // code. | 470 // code. |
| 471 // TODO(stichnot,ascull): currently only used for regalloc not | 471 // TODO(stichnot,ascull): currently only used for regalloc not |
| 472 // expensive high level optimizations which could be focused on potentially | 472 // expensive high level optimizations which could be focused on potentially |
| 473 // hot code. | 473 // hot code. |
| 474 Func->computeLoopNestDepth(); | 474 Func->computeLoopNestDepth(); |
| 475 Func->dump("After loop nest depth analysis"); | 475 Func->dump("After loop nest depth analysis"); |
| 476 | 476 |
| 477 // Address mode optimization. | 477 // Address mode optimization. |
| 478 Func->getVMetadata()->init(VMK_SingleDefs); | 478 Func->getVMetadata()->init(VMK_SingleDefs); |
| 479 Func->invertICMP(); |
| 479 Func->doAddressOpt(); | 480 Func->doAddressOpt(); |
| 480 Func->materializeVectorShuffles(); | 481 Func->materializeVectorShuffles(); |
| 481 | 482 |
| 482 // Find read-modify-write opportunities. Do this after address mode | 483 // Find read-modify-write opportunities. Do this after address mode |
| 483 // optimization so that doAddressOpt() doesn't need to be applied to RMW | 484 // optimization so that doAddressOpt() doesn't need to be applied to RMW |
| 484 // instructions as well. | 485 // instructions as well. |
| 485 findRMW(); | 486 findRMW(); |
| 486 Func->dump("After RMW transform"); | 487 Func->dump("After RMW transform"); |
| 487 | 488 |
| 488 // Argument lowering | 489 // Argument lowering |
| (...skipping 7543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8032 emitGlobal(*Var, SectionSuffix); | 8033 emitGlobal(*Var, SectionSuffix); |
| 8033 } | 8034 } |
| 8034 } | 8035 } |
| 8035 } break; | 8036 } break; |
| 8036 } | 8037 } |
| 8037 } | 8038 } |
| 8038 } // end of namespace X86NAMESPACE | 8039 } // end of namespace X86NAMESPACE |
| 8039 } // end of namespace Ice | 8040 } // end of namespace Ice |
| 8040 | 8041 |
| 8041 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H | 8042 #endif // SUBZERO_SRC_ICETARGETLOWERINGX86BASEIMPL_H |
| OLD | NEW |