mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129181 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			191 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| =pod
 | |
| 
 | |
| =head1 NAME
 | |
| 
 | |
| llvmc - The LLVM Compiler Driver (WIP)
 | |
| 
 | |
| =head1 SYNOPSIS
 | |
| 
 | |
| B<llvmc> [I<options>] I<filenames...>
 | |
| 
 | |
| =head1 DESCRIPTION
 | |
| 
 | |
| B<llvmc> is a configurable driver for invoking other LLVM (and non-LLVM) tools
 | |
| in order to compile, optimize and link software for multiple languages. For
 | |
| those familiar with FSF's B<gcc> tool, it is very similar.  Please note that
 | |
| B<llvmc> is considered an experimental tool.
 | |
| 
 | |
| =head1 OPTIONS
 | |
| 
 | |
| =head2 Built-in Options
 | |
| 
 | |
| LLVMC has some built-in options that can't be overridden in the
 | |
| configuration libraries.
 | |
| 
 | |
| =over
 | |
| 
 | |
| =item B<-o> I<filename>
 | |
| 
 | |
| Output file name.
 | |
| 
 | |
| =item B<-x> I<language>
 | |
| 
 | |
| Specify the language of the following input files until the next B<-x>
 | |
| option.
 | |
| 
 | |
| =item B<-load> I<plugin_name>
 | |
| 
 | |
| Load the specified plugin DLL. Example:
 | |
| S<-load $LLVM_DIR/Release/lib/LLVMCSimple.so>.
 | |
| 
 | |
| =item B<-v> or B<--verbose>
 | |
| 
 | |
| Enable verbose mode, i.e. print out all executed commands.
 | |
| 
 | |
| =item B<--check-graph>
 | |
| 
 | |
| Check the compilation for common errors like mismatched output/input language
 | |
| names, multiple default edges and cycles. Because of plugins, these checks can't
 | |
| be performed at compile-time. Exit with code zero if no errors were found, and
 | |
| return the number of found errors otherwise. Hidden option, useful for debugging
 | |
| LLVMC plugins.
 | |
| 
 | |
| =item B<--view-graph>
 | |
| 
 | |
| Show a graphical representation of the compilation graph and exit. Requires that
 | |
| you have I<dot> and I<gv> programs installed. Hidden option, useful for
 | |
| debugging LLVMC plugins.
 | |
| 
 | |
| =item B<--write-graph>
 | |
| 
 | |
| Write a I<compilation-graph.dot> file in the current directory with the
 | |
| compilation graph description in Graphviz format (identical to the file used by
 | |
| the B<--view-graph> option). The B<-o> option can be used to set the output file
 | |
| name. Hidden option, useful for debugging LLVMC plugins.
 | |
| 
 | |
| =item B<--save-temps>
 | |
| 
 | |
| Write temporary files to the current directory and do not delete them on
 | |
| exit. This option can also take an argument: the I<--save-temps=obj> switch will
 | |
| write files into the directory specified with the I<-o> option. The
 | |
| I<--save-temps=cwd> and I<--save-temps> switches are both synonyms for the
 | |
| default behaviour.
 | |
| 
 | |
| =item B<--temp-dir> I<directory>
 | |
| 
 | |
| Store temporary files in the given directory. This directory is deleted on exit
 | |
| unless I<--save-temps> is specified. If I<--save-temps=obj> is also specified,
 | |
| I<--temp-dir> is given the precedence.
 | |
| 
 | |
| =item B<-help>
 | |
| 
 | |
| Print a summary of command-line options and exit.
 | |
| 
 | |
| =item B<-help-hidden>
 | |
| 
 | |
| Print a summary of command-line options and exit. Print help even for
 | |
| options intended for developers.
 | |
| 
 | |
| =item B<--version>
 | |
| 
 | |
| Print version information and exit.
 | |
| 
 | |
| =item B<@>I<file>
 | |
| 
 | |
| Read command-line options from I<file>. The options read are inserted
 | |
| in place of the original @I<file> option. If I<file> does not exist, or
 | |
| cannot be read, then the option will be treated literally, and not
 | |
| removed.
 | |
| 
 | |
| Options in I<file> are separated by whitespace. A whitespace character
 | |
| may be included in an option by surrounding the entire option in
 | |
| either single or double quotes. Any character (including a backslash)
 | |
| may be included by prefixing the character to be included with a
 | |
| backslash. The file may itself contain additional @I<file> options;
 | |
| any such options will be processed recursively.
 | |
| 
 | |
| 
 | |
| =back
 | |
| 
 | |
| 
 | |
| =head2 Control Options
 | |
| 
 | |
| By default, LLVMC is built with some standard configuration libraries
 | |
| that define the following options:
 | |
| 
 | |
| =over
 | |
| 
 | |
| =item B<-clang>
 | |
| 
 | |
| Use Clang instead of llvm-gcc.
 | |
| 
 | |
| =item B<-opt>
 | |
| 
 | |
| Enable optimization passes with B<opt>. To pass options to the B<opt> program
 | |
| use the B<-Wo,> option.
 | |
| 
 | |
| =item B<-I> I<directory>
 | |
| 
 | |
| Add a directory to the header file search path.
 | |
| 
 | |
| =item B<-L> I<directory>
 | |
| 
 | |
| Add I<directory> to the library search path.
 | |
| 
 | |
| =item B<-F> I<directory>
 | |
| 
 | |
| Add I<directory> to the framework search path.
 | |
| 
 | |
| =item B<-l>I<name>
 | |
| 
 | |
| Link in the library libI<name>.[bc | a | so].  This library should
 | |
| be a bitcode library.
 | |
| 
 | |
| =item B<-framework> I<name>
 | |
| 
 | |
| Link in the library libI<name>.[bc | a | so].  This library should
 | |
| be a bitcode library.
 | |
| 
 | |
| =item B<-emit-llvm>
 | |
| 
 | |
| Output LLVM bitcode (with B<-c>) or assembly (with B<-S>) instead of native
 | |
| object (or assembly).  If B<-emit-llvm> is given without either B<-c> or B<-S>
 | |
| it has no effect.
 | |
| 
 | |
| =item B<-Wa>
 | |
| 
 | |
| Pass options to assembler.
 | |
| 
 | |
| =item B<-Wl>
 | |
| 
 | |
| Pass options to linker.
 | |
| 
 | |
| =item B<-Wo>
 | |
| 
 | |
| Pass options to opt.
 | |
| 
 | |
| =item B<-Wllc>
 | |
| 
 | |
| Pass options to llc (code generator).
 | |
| 
 | |
| =back
 | |
| 
 | |
| =head1 EXIT STATUS
 | |
| 
 | |
| If B<llvmc> succeeds, it will exit with code 0.  Otherwise, if an
 | |
| error occurs, it will exit with a non-zero value. If one of the
 | |
| compilation tools returns a non-zero status, pending actions will be
 | |
| discarded and B<llvmc> will return the same result code as the failing
 | |
| compilation tool.
 | |
| 
 | |
| =head1 SEE ALSO
 | |
| 
 | |
| L<llvm-gcc|llvmgcc>, L<llvm-g++|llvmgxx>, L<llvm-as|llvm-as>,
 | |
| L<llvm-dis|llvm-dis>, L<llc|llc>, L<llvm-link|llvm-link>
 | |
| 
 | |
| =head1 AUTHORS
 | |
| 
 | |
| Maintained by the LLVM Team (L<http://llvm.org/>).
 | |
| 
 | |
| =cut
 |