Struct ispc::Config
[−]
[src]
pub struct Config { /* fields omitted */ }
Extra configuration to be passed to ISPC
Methods
impl Config
[src]
pub fn new() -> Config
[src]
pub fn file<P: AsRef<Path>>(&mut self, file: P) -> &mut Config
[src]
Add an ISPC file to be compiled
pub fn out_dir<P: AsRef<Path>>(&mut self, dir: P) -> &mut Config
[src]
Set the output directory to override the default of env!("OUT_DIR")
pub fn debug(&mut self, debug: bool) -> &mut Config
[src]
Set whether debug symbols should be generated, symbols are generated by
default if env!("DEBUG") == "true"
pub fn opt_level(&mut self, opt_level: u32) -> &mut Config
[src]
Set the optimization level to override the default of env!("OPT_LEVEL")
pub fn target(&mut self, target: &str) -> &mut Config
[src]
Set the target triple to compile for, overriding the default of env!("TARGET")
pub fn cargo_metadata(&mut self, metadata: bool) -> &mut Config
[src]
Set whether Cargo metadata should be emitted to link to the compiled library
pub fn add_define(&mut self, define: &str, value: Option<&str>) -> &mut Config
[src]
Add a define to be passed to the ISPC compiler, e.g. -DFOO
or -DBAR=FOO
if a value should also be set.
pub fn addressing(&mut self, addressing: Addressing) -> &mut Config
[src]
Select the 32 or 64 bit addressing calculations for addressing calculations in ISPC.
pub fn math_lib(&mut self, math_lib: MathLib) -> &mut Config
[src]
Set the math library used by ISPC code, defaults to the ISPC math library.
pub fn optimization_opt(&mut self, opt: OptimizationOpt) -> &mut Config
[src]
Set an optimization option.
pub fn cpu(&mut self, cpu: CPU) -> &mut Config
[src]
Set the cpu target. This overrides the default choice of ISPC which is to target the host CPU.
pub fn force_alignment(&mut self, alignment: u32) -> &mut Config
[src]
Force ISPC memory allocations to be aligned to alignment
.
pub fn include_path<P: AsRef<Path>>(&mut self, path: P) -> &mut Config
[src]
Add an extra include path for the ispc compiler to search for files.
pub fn no_omit_frame_pointer(&mut self) -> &mut Config
[src]
Disable frame pointer omission. It may be useful for profiling to disable omission.
pub fn no_stdlib(&mut self) -> &mut Config
[src]
Don't make the ispc standard library available.
pub fn no_cpp(&mut self) -> &mut Config
[src]
Don't run the C preprocessor
pub fn quiet(&mut self) -> &mut Config
[src]
Enable suppression of all ispc compiler output.
pub fn werror(&mut self) -> &mut Config
[src]
Enable treating warnings as errors.
pub fn woff(&mut self) -> &mut Config
[src]
Disable all warnings.
pub fn wno_perf(&mut self) -> &mut Config
[src]
Don't issue warnings related to performance issues
pub fn instrument(&mut self) -> &mut Config
[src]
Emit instrumentation code for ISPC to gather performance data such as vector utilization.
pub fn target_isa(&mut self, target: TargetISA) -> &mut Config
[src]
Select the target ISA and vector width. If none is specified ispc will
choose the host CPU ISA and vector width.
Run the compiler, producing the library lib
. If compilation fails
the process will exit with EXIT_FAILURE to log build errors to the console.
pub fn compile(&mut self, lib: &str)
[src]
The library name should not have any prefix or suffix, e.g. instead of
libexample.a
or example.lib
simply pass example
pub fn ispc_version(&self) -> &Version
[src]
Get the ISPC compiler version.