diff options
Diffstat (limited to 'docs/CommandGuide')
-rw-r--r-- | docs/CommandGuide/bugpoint.pod | 4 | ||||
-rw-r--r-- | docs/CommandGuide/index.html | 5 | ||||
-rw-r--r-- | docs/CommandGuide/llvm-diff.pod | 53 |
3 files changed, 61 insertions, 1 deletions
diff --git a/docs/CommandGuide/bugpoint.pod b/docs/CommandGuide/bugpoint.pod index 7afeea1..1870a0d 100644 --- a/docs/CommandGuide/bugpoint.pod +++ b/docs/CommandGuide/bugpoint.pod @@ -67,6 +67,10 @@ tool. Pass all arguments specified after B<--gcc-tool-args> to the invocation of B<gcc>. +=item B<--opt-args> I<opt args> + +Pass all arguments specified after B<--opt-args> to the invocation of B<opt>. + =item B<--disable-{dce,simplifycfg}> Do not run the specified passes to clean up and reduce the size of the test diff --git a/docs/CommandGuide/index.html b/docs/CommandGuide/index.html index 62cb776..67f0cfc 100644 --- a/docs/CommandGuide/index.html +++ b/docs/CommandGuide/index.html @@ -72,6 +72,9 @@ options) arguments to the tool you are interested in.</p> <li><a href="/cmds/llvmc.html"><b>llvmc</b></a> - a generic customizable compiler driver</li> +<li><a href="/cmds/llvm-diff.html"><b>llvm-diff</b></a> - + structurally compare two modules</li> + </ul> </div> @@ -148,7 +151,7 @@ options) arguments to the tool you are interested in.</p> src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a> <a href="http://llvm.org">LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2010-05-11 18:47:42 +0200 (Tue, 11 May 2010) $ + Last modified: $Date: 2010-09-08 01:32:02 +0200 (Wed, 08 Sep 2010) $ </address> </body> diff --git a/docs/CommandGuide/llvm-diff.pod b/docs/CommandGuide/llvm-diff.pod new file mode 100644 index 0000000..c8cfdb3 --- /dev/null +++ b/docs/CommandGuide/llvm-diff.pod @@ -0,0 +1,53 @@ +=pod + +=head1 NAME + +llvm-diff - LLVM structural 'diff' + +=head1 SYNOPSIS + +B<llvm-diff> [I<options>] I<module 1> I<module 2> [I<global name ...>] + +=head1 DESCRIPTION + +B<llvm-diff> compares the structure of two LLVM modules, primarily +focusing on differences in function definitions. Insignificant +differences, such as changes in the ordering of globals or in the +names of local values, are ignored. + +An input module will be interpreted as an assembly file if its name +ends in '.ll'; otherwise it will be read in as a bitcode file. + +If a list of global names is given, just the values with those names +are compared; otherwise, all global values are compared, and +diagnostics are produced for globals which only appear in one module +or the other. + +B<llvm-diff> compares two functions by comparing their basic blocks, +beginning with the entry blocks. If the terminators seem to match, +then the corresponding successors are compared; otherwise they are +ignored. This algorithm is very sensitive to changes in control flow, +which tend to stop any downstream changes from being detected. + +B<llvm-diff> is intended as a debugging tool for writers of LLVM +passes and frontends. It does not have a stable output format. + +=head1 EXIT STATUS + +If B<llvm-diff> finds no differences between the modules, it will exit +with 0 and produce no output. Otherwise it will exit with a non-zero +value. + +=head1 BUGS + +Many important differences, like changes in linkage or function +attributes, are not diagnosed. + +Changes in memory behavior (for example, coalescing loads) can cause +massive detected differences in blocks. + +=head1 AUTHORS + +Maintained by the LLVM Team (L<http://llvm.org>). + +=cut |