Skip to content

Conversation

@jpsamaroo
Copy link
Member

This PR works around the fact that allocas in an AS other than 0 (AS 5 in the case of GCN) appears to break Julia's llvm-propagate-addrspaces pass. That pass attempts to perform a bitcast between two types in different addrspaces, which is apparently incorrect. I have a closed PR which was attempting to fix this, which I plan to reopen once I get it working properly, and have found solid justification for why it's needed.

@maleadt I know this looks ugly, but I'd like to have some way to work around this pass until I've gotten the pass fixed in Julia. I plan to make this conditional on a CompilerJob{GCNCompilerTarget}, unless you somehow want it for all backends.

@jpsamaroo jpsamaroo added bug Something isn't working upstream gcn Stuff about the AMD GCN back-end. labels Jun 18, 2020
@codecov
Copy link

codecov bot commented Jun 18, 2020

Codecov Report

Merging #47 into master will increase coverage by 6.81%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #47      +/-   ##
==========================================
+ Coverage   58.91%   65.73%   +6.81%     
==========================================
  Files          30       25       -5     
  Lines        1570     1430     -140     
==========================================
+ Hits          925      940      +15     
+ Misses        645      490     -155     
Impacted Files Coverage Δ
src/irgen.jl 87.16% <100.00%> (-0.69%) ⬇️
src/optim.jl 98.59% <100.00%> (+0.08%) ⬆️
src/driver.jl 64.13% <0.00%> (-5.03%) ⬇️
src/interface.jl 62.06% <0.00%> (-1.27%) ⬇️
src/ptx.jl 88.88% <0.00%> (-0.10%) ⬇️
src/cache.jl 0.00% <0.00%> (ø)
src/GPUCompiler.jl 100.00% <0.00%> (ø)
test/examples.jl
test/definitions/spirv.jl
... and 8 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9fd5b94...440e982. Read the comment docs.

@maleadt
Copy link
Member

maleadt commented Jun 19, 2020

I plan to make this conditional on a CompilerJob{GCNCompilerTarget}, unless you somehow want it for all backends.

Yeah I'd rather not have this globally.

@jpsamaroo jpsamaroo force-pushed the jps/gcn-workaround-allocas branch from 8bb863a to c44dac6 Compare July 6, 2020 14:24
@jpsamaroo
Copy link
Member Author

Done right in #71

@jpsamaroo jpsamaroo closed this Aug 21, 2020
@maleadt maleadt deleted the jps/gcn-workaround-allocas branch March 9, 2022 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working gcn Stuff about the AMD GCN back-end. upstream

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants