Struct ispc::Config [−][src]
pub struct Config { /* fields omitted */ }
Extra configuration to be passed to ISPC
Methods
impl Config
[src]
impl Config
pub fn new() -> Config
[src]
pub fn new() -> Config
pub fn file<P: AsRef<Path>>(&mut self, file: P) -> &mut Config
[src]
pub fn file<P: AsRef<Path>>(&mut self, file: P) -> &mut Config
Add an ISPC file to be compiled
pub fn out_dir<P: AsRef<Path>>(&mut self, dir: P) -> &mut Config
[src]
pub fn out_dir<P: AsRef<Path>>(&mut self, dir: P) -> &mut Config
Set the output directory to override the default of env!("OUT_DIR")
pub fn debug(&mut self, debug: bool) -> &mut Config
[src]
pub fn debug(&mut self, debug: bool) -> &mut Config
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]
pub fn opt_level(&mut self, opt_level: u32) -> &mut Config
Set the optimization level to override the default of env!("OPT_LEVEL")
pub fn target(&mut self, target: &str) -> &mut Config
[src]
pub fn target(&mut self, target: &str) -> &mut Config
Set the target triple to compile for, overriding the default of env!("TARGET")
pub fn cargo_metadata(&mut self, metadata: bool) -> &mut Config
[src]
pub fn cargo_metadata(&mut self, metadata: bool) -> &mut Config
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]
pub fn add_define(&mut self, define: &str, value: Option<&str>) -> &mut Config
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]
pub fn addressing(&mut self, addressing: Addressing) -> &mut Config
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]
pub fn math_lib(&mut self, math_lib: MathLib) -> &mut Config
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]
pub fn optimization_opt(&mut self, opt: OptimizationOpt) -> &mut Config
Set an optimization option.
pub fn cpu(&mut self, cpu: CPU) -> &mut Config
[src]
pub fn cpu(&mut self, cpu: CPU) -> &mut Config
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]
pub fn force_alignment(&mut self, alignment: u32) -> &mut Config
Force ISPC memory allocations to be aligned to alignment
.
pub fn include_path<P: AsRef<Path>>(&mut self, path: P) -> &mut Config
[src]
pub fn include_path<P: AsRef<Path>>(&mut self, path: P) -> &mut Config
Add an extra include path for the ispc compiler to search for files.
pub fn no_omit_frame_pointer(&mut self) -> &mut Config
[src]
pub fn no_omit_frame_pointer(&mut self) -> &mut Config
Disable frame pointer omission. It may be useful for profiling to disable omission.
pub fn no_stdlib(&mut self) -> &mut Config
[src]
pub fn no_stdlib(&mut self) -> &mut Config
Don't make the ispc standard library available.
pub fn no_cpp(&mut self) -> &mut Config
[src]
pub fn no_cpp(&mut self) -> &mut Config
Don't run the C preprocessor
pub fn quiet(&mut self) -> &mut Config
[src]
pub fn quiet(&mut self) -> &mut Config
Enable suppression of all ispc compiler output.
pub fn werror(&mut self) -> &mut Config
[src]
pub fn werror(&mut self) -> &mut Config
Enable treating warnings as errors.
pub fn woff(&mut self) -> &mut Config
[src]
pub fn woff(&mut self) -> &mut Config
Disable all warnings.
pub fn wno_perf(&mut self) -> &mut Config
[src]
pub fn wno_perf(&mut self) -> &mut Config
Don't issue warnings related to performance issues
pub fn instrument(&mut self) -> &mut Config
[src]
pub fn instrument(&mut self) -> &mut Config
Emit instrumentation code for ISPC to gather performance data such as vector utilization.
pub fn target_isa(&mut self, target: TargetISA) -> &mut Config
[src]
pub fn target_isa(&mut self, target: TargetISA) -> &mut Config
Select the target ISA and vector width. If none is specified ispc will choose the host CPU ISA and vector width.
pub fn target_isas(&mut self, targets: Vec<TargetISA>) -> &mut Config
[src]
pub fn target_isas(&mut self, targets: Vec<TargetISA>) -> &mut Config
Select multiple target ISAs and vector widths. If none is specified ispc will choose the host CPU ISA and vector width. Note that certain options are not compatible with this use case, e.g. AVX1.1 will replace AVX1, Host should not be passed (just use the default)
pub fn compile(&mut self, lib: &str)
[src]
pub fn compile(&mut self, lib: &str)
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]
pub fn ispc_version(&self) -> &Version
Get the ISPC compiler version.