mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129181 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
=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
 |