mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11615 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			197 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <title>LLVM: llc tool</title>
 | |
| 
 | |
| <body bgcolor=white>
 | |
| 
 | |
| <center><h1>LLVM: <tt>llc</tt> tool</h1></center>
 | |
| <HR>
 | |
| 
 | |
| <h3>NAME</h3>
 | |
| <tt>llc</tt>
 | |
| 
 | |
| <h3>SYNOPSIS</h3>
 | |
| <tt>llc [options] [filename]</tt>
 | |
| 
 | |
| <h3>DESCRIPTION</h3>
 | |
| 
 | |
| The <tt>llc</tt> 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 <tt>llc</tt> was compiled on an architecture for which it can
 | |
| 	generate code, select the architecture upon which <tt>llc</tt> 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 -, <tt>llc</tt> reads its input
 | |
| from standard input.  Otherwise, it will read its input from filename.
 | |
| <p>
 | |
| 
 | |
| If the -o option is left unspecified, then <tt>llc</tt> 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
 | |
| <tt>llc</tt> 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>-f                   
 | |
| 	<br>
 | |
| 	Overwrite output files
 | |
| 	<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)</dd>
 | |
| 
 | |
| 		<di> sparc
 | |
| 		<dd>SPARC V9</dd>
 | |
| 
 | |
| 		<di> c
 | |
| 		<dd>Emit C code</dd>
 | |
| 	</dl>
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-o <filename>
 | |
| 	<br>
 | |
| 	Specify the output filename.
 | |
| 	<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>
 | |
| <h4>X86 Specific Options</h4>
 | |
| <ul>
 | |
| 	<li>-disable-fp-elim
 | |
| 	<br>
 | |
| 	Disable frame pointer elimination optimization.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-disable-pattern-isel
 | |
| 	<br>
 | |
| 	Use the 'simple' X86 instruction selector (the default).
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-print-machineinstrs
 | |
| 	<br>
 | |
| 	Print generated machine code.
 | |
| 	<p>
 | |
| 
 | |
| 	<li>-regalloc=<ra>
 | |
| 	<br>
 | |
|         Specify the register allocator to use. The default is <i>simple</i>.
 | |
|         Valid register allocators are:
 | |
| 	<dl compact>
 | |
| 		<di> simple
 | |
| 		<dd>Very simple register allocator</dd>
 | |
| 
 | |
| 		<di> local
 | |
| 		<dd>Local register allocator</dd>
 | |
| 	</dl>
 | |
| 	<p>
 | |
| 
 | |
| </ul>
 | |
| 
 | |
| <h4>Sparc Specific Options</h4>
 | |
| <ul>
 | |
| 	<li>-disable-peephole
 | |
| 	<br>
 | |
| 	Disable peephole optimization pass.
 | |
| 	<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>
 | |
| </ul>
 | |
| 
 | |
| 
 | |
| <h3>EXIT STATUS</h3>
 | |
| 
 | |
| If <tt>llc</tt> succeeds, it will exit with 0.  Otherwise, if an error occurs,
 | |
| it will exit with a non-zero value.
 | |
| 
 | |
| <h3>
 | |
| SEE ALSO
 | |
| </h3>
 | |
| <a href="lli.html"><tt>lli</tt></a>
 | |
| 
 | |
| <HR>
 | |
| Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
 | |
| </body>
 | |
| </html>
 | |
| 
 |