mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	Added periods to the end of sentence fragments describing options. Added information to llc about which target architecture is selected for assembly language code generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8741 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			203 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			203 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <title>
 | |
| LLVM: llc tool
 | |
| </title>
 | |
| 
 | |
| <body>
 | |
| 
 | |
| <center>
 | |
| <h1>LLVM: llc tool</h1>
 | |
| </center>
 | |
| <HR>
 | |
| 
 | |
| <h3>
 | |
| NAME
 | |
| </h3>
 | |
| 
 | |
| llc
 | |
| 
 | |
| <h3>
 | |
| SYNOPSIS
 | |
| </h3>
 | |
| 
 | |
| llc [options] [filename]
 | |
| <h3>
 | |
| DESCRIPTION
 | |
| </h3>
 | |
| 
 | |
| The llc command compiles LLVM bytecode into assembly language for a specified
 | |
| architecture.  The assembly language output can then be passed through a native
 | |
| assembler and linker to generate native code.
 | |
| <p>
 | |
| The choice of architecture for the output assembly code is determined as
 | |
| follows:
 | |
| 
 | |
| <ul>
 | |
| 	<li>
 | |
| 	If the user has specified an architecture with the -m option, use that
 | |
| 	architecture.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>
 | |
| 	Examine the input LLVM bytecode file:
 | |
| 	<ul>
 | |
| 		<li>
 | |
| 		If it specifies little endian and a pointer size of 32 bits, select the
 | |
| 		x86 architecture.
 | |
| 		<p>
 | |
| 		
 | |
| 		<li>
 | |
| 		If it specifies big endian and a pointer size of 64 bit pointers,
 | |
| 		select the SparcV9 architecture.
 | |
| 	</ul>
 | |
| 	<p>
 | |
| 
 | |
| 	<li>
 | |
| 	If llc was compiled on an architecture for which it can generate code,
 | |
| 	select the architecture upon which llc was compiled.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>
 | |
| 	Print a message to the user asking him or her to specify the output
 | |
| 	architecture explicitly.
 | |
| </ul>
 | |
| 
 | |
| <p>
 | |
| 
 | |
| If filename is not specified, or if filename is -, llc reads its input from
 | |
| standard input.  Otherwise, it will read its input from filename.
 | |
| <p>
 | |
| 
 | |
| If the -o option is left unspecified, then llc will send its output to standard
 | |
| output if the input is from standard input.  If the -o option specifies -, then
 | |
| the output will also be sent to standard output.
 | |
| <p>
 | |
| 
 | |
| If no -o option is specified and an input file other than - is specified, then
 | |
| llc creates the output filename as follows:
 | |
| 
 | |
| <ul>
 | |
| 	<li>
 | |
| 	If the file ends in .bc, then the .bc suffix is removed, and the .s suffix
 | |
| 	is appended.
 | |
| 	<p>
 | |
| 	<li>
 | |
| 	Otherwise, the .s suffix is appended to the input filename.
 | |
| </ul>
 | |
| 
 | |
| <h3>
 | |
| OPTIONS
 | |
| </h3>
 | |
| 
 | |
| <ul>
 | |
| 	<li>-disable-fp-elim     
 | |
| 	<br>
 | |
| 	Disable frame pointer elimination optimization.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-local-ra    
 | |
| 	<br>
 | |
| 	Use Simple RA instead of Local RegAlloc.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-pattern-isel
 | |
| 	<br>
 | |
| 	Use the 'simple' X86 instruction selector.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-peephole    
 | |
| 	<br>
 | |
| 	Disable peephole optimization pass.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-preopt      
 | |
| 	<br>
 | |
| 	Disable optimizations prior to instruction selection.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-sched       
 | |
| 	<br>
 | |
| 	Disable local scheduling pass.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-strip       
 | |
| 	<br>
 | |
| 	Do not strip the LLVM bytecode included in executable.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-enable-maps         
 | |
| 	<br>
 | |
| 	Emit LLVM-to-MachineCode mapping info to assembly.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-f                   
 | |
| 	<br>
 | |
| 	Overwrite output files
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-load=<plugin.so>
 | |
| 	<br>
 | |
| 	Load the specified plugin.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-m<arch>
 | |
| 	<br>
 | |
| 	Specify the architecture for which to generate assembly.  Valid
 | |
| 	architectures are:
 | |
| 
 | |
| 	<dl compact>
 | |
| 		<di> x86               
 | |
| 		<dd>
 | |
| 		IA-32 (Pentium and above)
 | |
| 		<p>
 | |
| 
 | |
| 		<di> sparc             
 | |
| 		<dd>SPARC V9
 | |
| 	</dl>
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-o <filename>
 | |
| 	<br>
 | |
| 	Specify the output filename.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-print-machineinstrs 
 | |
| 	<br>
 | |
| 	Print generated machine code.
 | |
| 	<p>
 | |
| 
 | |
| 	<li> -help
 | |
| 	<br>
 | |
| 	Print a summary of command line options.
 | |
| 	<p>
 | |
| 
 | |
| 	<li> -stats
 | |
| 	<br>
 | |
| 	Print statistics.
 | |
| 	<p>
 | |
| 
 | |
| 	<li> -time-passes
 | |
| 	<br>
 | |
| 	Record the amount of time needed for each pass and print it to standard
 | |
| 	error.
 | |
| 	<p>
 | |
| </ul>
 | |
| 
 | |
| <h3>
 | |
| EXIT STATUS
 | |
| </h3>
 | |
| 
 | |
| If llc succeeds, it will exit with 0.  Otherwise, if an error occurs, it
 | |
| will exit with a non-zero value.
 | |
| 
 | |
| <h3>
 | |
| SEE ALSO
 | |
| </h3>
 | |
| llvm-dis, lli
 | |
| 
 | |
| <HR>
 | |
| <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>
 | |
| </body>
 | |
| </html>
 | |
| 
 |