about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc/example/std_example.rs
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2023-10-27 19:46:09 +0200
committerGitHub <noreply@github.com>2023-10-27 19:46:09 +0200
commitc3d56be6b65e3d4c3360889466e3cb2cb40a3427 (patch)
tree0df0538c50cffb8e81d83fbc8140f5927845f1a1 /compiler/rustc_codegen_gcc/example/std_example.rs
parenta77f7432390deebdc36f94a17efe73027ed588e2 (diff)
parentbb45c812e0b8e45a704b768a6a2080f6f794667b (diff)
downloadrust-c3d56be6b65e3d4c3360889466e3cb2cb40a3427.tar.gz
rust-c3d56be6b65e3d4c3360889466e3cb2cb40a3427.zip
Rollup merge of #117247 - kjetilkjeka:nvptx_direct_passmode_exception, r=workingjubilee,RalfJung
NVPTX: Allow PassMode::Direct for ptx kernels for now

Upgrading the nvptx toolchain to the newest nightly makes it hit the assert that links to https://github.com/rust-lang/rust/issues/115666

It seems like most targets get around this by using `PassMode::Indirect`. That is impossible for the kernel as it's not a normal call, but instead the arguments are copied from CPU to GPU and the passed pointer would be invalid when it reached the GPU.

I also made an experiment with `PassMode::Cast` but at least the most simple version of this broke the assembly API tests.

I added  fixing the pass mode in my unofficial tracking issue list (I do not have the necessary permissions to update to official one). https://github.com/rust-lang/rust/issues/38788#issuecomment-1079021853

Since the ptx_abi is currently unstable and have been working with `PassMode::Direct` for more than a year now, the steps above is hopefully sufficient to enable it as an exception until I can prioritize to fix it. I'm currently looking at steps to enable the CI for nvptx64 again and would prefer to finish that first.
Diffstat (limited to 'compiler/rustc_codegen_gcc/example/std_example.rs')
0 files changed, 0 insertions, 0 deletions