From: Jethro Beekman Date: Sat, 18 Jan 2020 00:11:52 +0000 (-0800) Subject: Actually pass target LLVM args to LLVM X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=766f6c5d0ad5c71f42ab3a305572bf1e7b5edafa;p=rust.git Actually pass target LLVM args to LLVM --- diff --git a/src/librustc_codegen_llvm/llvm_util.rs b/src/librustc_codegen_llvm/llvm_util.rs index 52613fef7e6..4823fe10c46 100644 --- a/src/librustc_codegen_llvm/llvm_util.rs +++ b/src/librustc_codegen_llvm/llvm_util.rs @@ -58,9 +58,10 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str { let cg_opts = sess.opts.cg.llvm_args.iter(); let tg_opts = sess.target.target.options.llvm_args.iter(); + let sess_args = cg_opts.chain(tg_opts); let user_specified_args: FxHashSet<_> = - cg_opts.chain(tg_opts).map(|s| llvm_arg_to_arg_name(s)).filter(|s| s.len() > 0).collect(); + sess_args.clone().map(|s| llvm_arg_to_arg_name(s)).filter(|s| s.len() > 0).collect(); { // This adds the given argument to LLVM. Unless `force` is true @@ -107,7 +108,7 @@ fn llvm_arg_to_arg_name(full_arg: &str) -> &str { // during inlining. Unfortunately these may block other optimizations. add("-preserve-alignment-assumptions-during-inlining=false", false); - for arg in &sess.opts.cg.llvm_args { + for arg in sess_args { add(&(*arg), true); } }