fix typos; NFC

llvm-svn: 312119
This commit is contained in:
Sanjay Patel 2017-08-30 13:16:25 +00:00
parent f3387836d0
commit 7e5af84cae
1 changed files with 15 additions and 15 deletions

View File

@ -7,28 +7,28 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/// \file /// \file
/// This file implements a pass that converts X86 cmov instructions into branch /// This file implements a pass that converts X86 cmov instructions into
/// when profitable. This pass is conservative, i.e., it applies transformation /// branches when profitable. This pass is conservative. It transforms if and
/// if and only if it can gaurantee a gain with high confidence. /// only if it can gaurantee a gain with high confidence.
/// ///
/// Thus, the optimization applies under the following conditions: /// Thus, the optimization applies under the following conditions:
/// 1. Consider as a candidate only CMOV in most inner loop, assuming that /// 1. Consider as candidates only CMOVs in innermost loops (assume that
/// most hotspots are represented by these loops. /// most hotspots are represented by these loops).
/// 2. Given a group of CMOV instructions, that are using same EFLAGS def /// 2. Given a group of CMOV instructions that are using the same EFLAGS def
/// instruction: /// instruction:
/// a. Consider them as candidates only if all have same code condition or /// a. Consider them as candidates only if all have the same code condition
/// opposite one, to prevent generating more than one conditional jump /// or the opposite one to prevent generating more than one conditional
/// per EFLAGS def instruction. /// jump per EFLAGS def instruction.
/// b. Consider them as candidates only if all are profitable to be /// b. Consider them as candidates only if all are profitable to be
/// converted, assuming that one bad conversion may casue a degradation. /// converted (assume that one bad conversion may cause a degradation).
/// 3. Apply conversion only for loop that are found profitable and only for /// 3. Apply conversion only for loops that are found profitable and only for
/// CMOV candidates that were found profitable. /// CMOV candidates that were found profitable.
/// a. Loop is considered profitable only if conversion will reduce its /// a. A loop is considered profitable only if conversion will reduce its
/// depth cost by some thrishold. /// depth cost by some threshold.
/// b. CMOV is considered profitable if the cost of its condition is higher /// b. CMOV is considered profitable if the cost of its condition is higher
/// than the average cost of its true-value and false-value by 25% of /// than the average cost of its true-value and false-value by 25% of
/// branch-misprediction-penalty, this to assure no degredassion even /// branch-misprediction-penalty. This assures no degredation even with
/// with 25% branch misprediction. /// 25% branch misprediction.
/// ///
/// Note: This pass is assumed to run on SSA machine code. /// Note: This pass is assumed to run on SSA machine code.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//