<commit_before><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&lt;arch&gt;
	<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 &lt;filename&gt;
	<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=&lt;ra&gt;
	<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>

		<di> linearscan
		<dd>Linear scan global register allocator (experimental)</dd>
        <p>

	<li>-spiller=&lt;sp&gt;
	<br>
        Specify the spiller to use for register allocators that support it.
        Currently this option is used by the linear scan register
        allocator. The default is <i>local</i>.
        Valid spillers are:
	<dl compact>
		<di> local
		<dd>Local spiller</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><commit_msg>Make <di> into <dt> (definition list term).<commit_after><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&lt;arch&gt;
	<br>
	Specify the architecture for which to generate assembly.  Valid
	architectures are:

	<dl compact>
		<dt> x86 </dt>
		<dd>IA-32 (Pentium and above)</dd>

		<dt> sparc </dt>
		<dd>SPARC V9</dd>

		<dt> c </dt>
		<dd>Emit C code</dd>
	</dl>
	<p>

	<li>-o &lt;filename&gt;
	<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=&lt;ra&gt;
	<br>
        Specify the register allocator to use. The default is <i>simple</i>.
        Valid register allocators are:
        <p>
	<dl compact>
		<dt> simple </dt>
		<dd>Very simple register allocator</dd>

		<dt> local </dt>
		<dd>Local register allocator</dd>

		<dt> linearscan </dt>
		<dd>Linear scan global register allocator (experimental)</dd>
        </dl>

	<li>-spiller=&lt;sp&gt;
	<br>
        Specify the spiller to use for register allocators that support it.
        Currently this option is used by the linear scan register
        allocator. The default is <i>local</i>.
        Valid spillers are:
        <p>
	<dl compact>
		<dt> local </dt>
		<dd>Local spiller</dd>
	</dl>

</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>
{'fraction_non_alphanumeric': 0.11882578174856413, 'fraction_numerical': 0.00816847479259732, 'mean_word_length': 3.360601001669449, 'pattern_counts': {'":': 0, '<': 303, '<?xml version=': 0, '>': 303, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2102442', 'n_tokens_mistral': 3016, 'n_tokens_neox': 2833, 'n_words': 1059}