"divide crate into N units to optimize in parallel"),
remark: Passes = (SomePasses(Vec::new()), parse_passes,
"print remarks for these optimization passes (space separated, or \"all\")"),
+ no_stack_check: bool = (false, parse_bool,
+ "disable checks for stack exhaustion (a memory-safety hazard!)"),
)
pub fn build_codegen_options(matches: &getopts::Matches) -> CodegenOptions
// Function addresses in Rust are never significant, allowing functions to be merged.
llvm::SetUnnamedAddr(llfn, true);
- if ccx.is_split_stack_supported() {
+ if ccx.is_split_stack_supported() && !ccx.sess().opts.cg.no_stack_check {
set_split_stack(llfn);
}