diff --git a/docs/Passes.html b/docs/Passes.html index 66ef44bc863..efa69fec5a2 100644 --- a/docs/Passes.html +++ b/docs/Passes.html @@ -4,6 +4,7 @@ LLVM's Analysis and Transform Passes + @@ -20,7 +21,7 @@ while () { m:^-.*.*$: or next; $order{$1} = sprintf("%03d", 1 + int %order); } -open HELP, "../Release/bin/opt --help|" or die "open: opt --help: $!\n"; +open HELP, "../Release/bin/opt -help|" or die "open: opt -help: $!\n"; while () { m:^ -([^ ]+) +- (.*)$: or next; my $o = $order{$1}; @@ -66,8 +67,8 @@ EOT
- - + + @@ -105,8 +106,8 @@ EOT - - + + @@ -169,8 +170,8 @@ EOT - - + + @@ -529,15 +530,16 @@ EOT

Correlated Expression Elimination propagates information from conditional branches to blocks dominated by destinations of the branch. It propagates information from the condition check itself into the body of the branch, - allowing transformations like these for example: -

-    if (i == 7)
-      ... 4*i;  // constant propagation
+  allowing transformations like these for example:

+ +
+if (i == 7)
+  ... 4*i;  // constant propagation
 
-    M = i+1; N = j+1;
-    if (i == j)
-      X = M-N;  // = M-M == 0;
-   

+M = i+1; N = j+1; +if (i == j) + X = M-N; // = M-M == 0; +

This is called Correlated Expression Elimination because we eliminate or simplify expressions that are correlated with the direction of a branch. In @@ -569,10 +571,10 @@ EOT

This file implements constant propagation and merging. It looks for instructions involving only constant operands and replaces them with a - constant value instead of an instruction. For example: -

add i32 1, 2

- becomes -
i32 3

+ constant value instead of an instruction. For example:

+
add i32 1, 2
+

becomes

+
i32 3

NOTE: this pass has a habit of making definitions be dead. It is a good idea to to run a DIE (Dead Instruction Elimination) pass sometime after running this pass.

ANALYSIS PASSES
OptionNameDirectory
ANALYSIS PASSES
OptionName
-aa-evalExhaustive Alias Analysis Precision Evaluator
-anders-aaAndersen's Interprocedural Alias Analysis
-basicaaBasic Alias Analysis (default AA impl)
-targetdataTarget Data Layout
TRANSFORM PASSES
OptionNameDirectory
TRANSFORM PASSES
OptionName
-adceAggressive Dead Code Elimination
-argpromotionPromote 'by reference' arguments to scalars
-block-placementProfile Guided Basic Block Placement
-tailduplicateTail Duplication
UTILITY PASSES
OptionNameDirectory
UTILITY PASSES
OptionName
-deadarghaX0rDead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)
-extract-blocksExtract Basic Blocks From Module (for bugpoint use)
-emitbitcodeBitcode Writer