|
2 | 2 | use crate::maybe_pqp_cg_ssa as rustc_codegen_ssa; |
3 | 3 |
|
4 | 4 | use crate::codegen_cx::{CodegenArgs, SpirvMetadata}; |
| 5 | +use crate::target::{SpirvTarget, SpirvTargetVariant}; |
5 | 6 | use crate::{SpirvCodegenBackend, SpirvModuleBuffer, linker}; |
6 | 7 | use ar::{Archive, GnuBuilder, Header}; |
7 | 8 | use rspirv::binary::Assemble; |
@@ -339,8 +340,8 @@ fn do_spirv_opt( |
339 | 340 | opt::{self, Optimizer}, |
340 | 341 | }; |
341 | 342 |
|
342 | | - let target_env = TargetEnv::from_str(sess.target.options.env.desc()).ok(); |
343 | | - let mut optimizer = opt::create(target_env); |
| 343 | + let target = SpirvTarget::parse_env(&sess.target.options.env.desc()).unwrap(); |
| 344 | + let mut optimizer = opt::create(Some(target.to_spirv_tools())); |
344 | 345 |
|
345 | 346 | match sess.opts.optimize { |
346 | 347 | OptLevel::No => {} |
@@ -402,8 +403,8 @@ fn do_spirv_val( |
402 | 403 | ) { |
403 | 404 | use spirv_tools::val::{self, Validator}; |
404 | 405 |
|
405 | | - let target_env = TargetEnv::from_str(sess.target.options.env.desc()).ok(); |
406 | | - let validator = val::create(target_env); |
| 406 | + let target = SpirvTarget::parse_env(&sess.target.options.env.desc()).unwrap(); |
| 407 | + let validator = val::create(Some(target.to_spirv_tools())); |
407 | 408 |
|
408 | 409 | if let Err(e) = validator.validate(spv_binary, Some(options)) { |
409 | 410 | let mut err = sess.dcx().struct_err(e.to_string()); |
|
0 commit comments