Struct ispc::Config
[−]
[src]
pub struct Config { /* fields omitted */ }
Extra configuration to be passed to ISPC
Methods
impl Config
[src]
fn new() -> Config
[src]
fn file<P: AsRef<Path>>(&mut self, file: P) -> &mut Config
[src]
Add an ISPC file to be compiled
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")
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"
fn opt_level(&mut self, opt_level: u32) -> &mut Config
[src]
Set the optimization level to override the default of env!("OPT_LEVEL")
fn target(&mut self, target: &str) -> &mut Config
[src]
Set the target triple to compile for, overriding the default of env!("TARGET")
fn cargo_metadata(&mut self, metadata: bool) -> &mut Config
[src]
Set whether Cargo metadata should be emitted to link to the compiled library
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.
fn addressing(&mut self, addressing: Addressing) -> &mut Config
[src]
Select the 32 or 64 bit addressing calculations for addressing calculations in ISPC.
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.
fn optimization_opt(&mut self, opt: OptimizationOpt) -> &mut Config
[src]
Set an optimization option.
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.
fn force_alignment(&mut self, alignment: u32) -> &mut Config
[src]
Force ISPC memory allocations to be aligned to alignment
.
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.
fn no_omit_frame_pointer(&mut self) -> &mut Config
[src]
Disable frame pointer omission. It may be useful for profiling to disable omission.
fn no_stdlib(&mut self) -> &mut Config
[src]
Don't make the ispc standard library available.
fn no_cpp(&mut self) -> &mut Config
[src]
Don't run the C preprocessor
fn quiet(&mut self) -> &mut Config
[src]
Enable suppression of all ispc compiler output.
fn werror(&mut self) -> &mut Config
[src]
Enable treating warnings as errors.
fn woff(&mut self) -> &mut Config
[src]
Disable all warnings.
fn wno_perf(&mut self) -> &mut Config
[src]
Don't issue warnings related to performance issues
fn instrument(&mut self) -> &mut Config
[src]
Emit instrumentation code for ISPC to gather performance data such as vector utilization.
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.
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
fn ispc_version(&self) -> &Version
[src]
Get the ISPC compiler version.