diff options
| author | Dario Nieuwenhuis <dirbaio@dirbaio.net> | 2020-11-24 00:55:10 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <dirbaio@dirbaio.net> | 2020-11-24 01:08:27 +0100 |
| commit | 7b62e09b0333e268e5546d52f2072eb340cec7ea (patch) | |
| tree | 2fab58eba45ba6ec5ff68e5006b41c2fffe97f6d /compiler/rustc_codegen_llvm/src | |
| parent | d9a105fdd46c926ae606777a46dd90e5b838f92f (diff) | |
| download | rust-7b62e09b0333e268e5546d52f2072eb340cec7ea.tar.gz rust-7b62e09b0333e268e5546d52f2072eb340cec7ea.zip | |
Allow disabling TrapUnreachable via -Ztrap-unreachable=no
This is useful for embedded targets where small code size is desired. For example, on my project (thumbv7em-none-eabi) this yields a 0.6% code size reduction.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/back/write.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/back/write.rs b/compiler/rustc_codegen_llvm/src/back/write.rs index 6f956c3bcc1..7407dfc455d 100644 --- a/compiler/rustc_codegen_llvm/src/back/write.rs +++ b/compiler/rustc_codegen_llvm/src/back/write.rs @@ -152,7 +152,8 @@ pub fn target_machine_factory( let features = features.join(","); let features = CString::new(features).unwrap(); let abi = SmallCStr::new(&sess.target.llvm_abiname); - let trap_unreachable = sess.target.trap_unreachable; + let trap_unreachable = + sess.opts.debugging_opts.trap_unreachable.unwrap_or(sess.target.trap_unreachable); let emit_stack_size_section = sess.opts.debugging_opts.emit_stack_sizes; let asm_comments = sess.asm_comments(); |
