FunctionCompileExportString
FunctionCompileExportString [fspec]
gives a string of textual LLVM code obtained by compiling the function specification fspec.
FunctionCompileExportString [defs,fspec]
uses the auxiliary definitions defs for compilation.
FunctionCompileExportString [fspec,"format"]
gives a string of textual code in the specified format.
Details and Options
- Functions can be given as a Function pure function, a list of pure functions or an association of pure functions.
- Auxiliary definitions can be given with FunctionDeclaration or by giving a CompilerEnvironment option.
- Possible values for "format" include:
-
"LLVM" LLVM intermediate code"Assembler" assembler for a specific architecture
- The following options can be given:
- With the setting TargetSystem->Automatic , FunctionCompileExportString will generate code for the machine architecture on which it is being run, including, for example, taking account of word length.
- In FunctionCompileExportString [func,…], func can be a CompiledCodeFunction object.
Examples
open allclose allBasic Examples (3)
Generate a compiled version of a function and return the resulting LLVM IR as a string:
The export format can be given explicitly:
Several functions can be compiled with FunctionCompileExportString :
It can be useful to use an association to hold the functions:
Auxiliary definitions can be given with FunctionDeclaration :
Options (3)
CompilerEnvironment (1)
Create a compiler environment and add a function definition:
Use a compiler environment in a compilation:
ProgressReporting (1)
Progress during a compilation is reported:
This can be suppressed by setting the option ProgressReporting to False .
The default value of ProgressReporting is Automatic , which means that the global setting $ProgressReporting is used. If this is set to False , then no progress reporting takes place.
TargetSystem (1)
The default setting of Automatic generates code for the machine architecture on which it is being run:
TargetSystem can be set to the $SystemID of the desired platform:
TargetSystem can be combined with different format settings:
TargetSystem can be set for architectures for which the Wolfram Engine does not exist:
Related Guides
Text
Wolfram Research (2019), FunctionCompileExportString, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionCompileExportString.html (updated 2021).
CMS
Wolfram Language. 2019. "FunctionCompileExportString." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/FunctionCompileExportString.html.
APA
Wolfram Language. (2019). FunctionCompileExportString. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionCompileExportString.html
BibTeX
@misc{reference.wolfram_2025_functioncompileexportstring, author="Wolfram Research", title="{FunctionCompileExportString}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionCompileExportString.html}", note=[Accessed: 22-April-2025 ]}
BibLaTeX
@online{reference.wolfram_2025_functioncompileexportstring, organization={Wolfram Research}, title={FunctionCompileExportString}, year={2021}, url={https://reference.wolfram.com/language/ref/FunctionCompileExportString.html}, note=[Accessed: 22-April-2025 ]}