Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Side by Side Diff: src/IceTargetLoweringX86BaseImpl.h

Issue 2124973005: Selectively invert ICMP operands for better address optimization (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: More auto Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698