diff options
author | Andrzej Janik <[email protected]> | 2024-09-23 16:33:46 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2024-09-23 16:33:46 +0200 |
commit | c92abba2bb884a4dba8ca5e3df4d46a30878f27e (patch) | |
tree | 89bab98e3071aedd12f755bfde8a7c7382138ed7 /ptx/src/pass/emit_spirv.rs | |
parent | 46def3e7e09dbf4d3e7287a72bfecb73e6e429c5 (diff) | |
download | ZLUDA-c92abba2bb884a4dba8ca5e3df4d46a30878f27e.tar.gz ZLUDA-c92abba2bb884a4dba8ca5e3df4d46a30878f27e.zip |
Refactor compilation passes (#270)
The overarching goal is to refactor all passes so they are module-scoped and not function-scoped. Additionally, make improvements to the most egregiously buggy/unfit passes (so the code is ready for the next major features: linking, ftz handling) and continue adding more code to the LLVM backend
Diffstat (limited to 'ptx/src/pass/emit_spirv.rs')
-rw-r--r-- | ptx/src/pass/emit_spirv.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/ptx/src/pass/emit_spirv.rs b/ptx/src/pass/emit_spirv.rs index 5147b79..120a477 100644 --- a/ptx/src/pass/emit_spirv.rs +++ b/ptx/src/pass/emit_spirv.rs @@ -469,7 +469,6 @@ fn space_to_spirv(this: ast::StateSpace) -> spirv::StorageClass { ast::StateSpace::Shared => spirv::StorageClass::Workgroup,
ast::StateSpace::Param => spirv::StorageClass::Function,
ast::StateSpace::Reg => spirv::StorageClass::Function,
- ast::StateSpace::Sreg => spirv::StorageClass::Input,
ast::StateSpace::ParamEntry
| ast::StateSpace::ParamFunc
| ast::StateSpace::SharedCluster
@@ -693,7 +692,6 @@ fn emit_variable<'input>( ast::StateSpace::Shared => (false, spirv::StorageClass::Workgroup),
ast::StateSpace::Const => (false, spirv::StorageClass::UniformConstant),
ast::StateSpace::Generic => todo!(),
- ast::StateSpace::Sreg => todo!(),
ast::StateSpace::ParamEntry
| ast::StateSpace::ParamFunc
| ast::StateSpace::SharedCluster
@@ -1563,6 +1561,7 @@ fn emit_function_body_ops<'input>( builder.copy_object(vector_type.0, Some(repack.packed.0), temp_vec)?;
}
}
+ Statement::VectorAccess(vector_access) => todo!(),
}
}
Ok(())
|