This is an archive of the discontinued LLVM Phabricator instance.

CodeGenPrepare: Don't match addressing modes through addrspacecast
ClosedPublic

Authored by arsenm on Apr 21 2015, 4:37 PM.

Details

Reviewers
arsenm
Summary

This was resulting in the addrspacecast being removed and incorrectly replaced with a ptrtoint when sinking.

Diff Detail

Event Timeline

arsenm updated this revision to Diff 24187.Apr 21 2015, 4:37 PM
arsenm retitled this revision from to CodeGenPrepare: Don't match addressing modes through addrspacecast .
arsenm updated this object.
arsenm edited the test plan for this revision. (Show Details)
arsenm added a subscriber: Unknown Object (MLST).

I was wondering if this is the right place for the test, since there doesn't seem to be any checking for the built targets. I'm not sure what to do other than duplicate the test for the no-op addrspacecast and non-noop addrspacecast cases

I was wondering if this is the right place for the test, since there doesn't seem to be any checking for the built targets. I'm not sure what to do other than duplicate the test for the no-op addrspacecast and non-noop addrspacecast cases

Yea; probably best to create a target-specific subdirectory (with an associated lit.local.cfg file) just like we have for test/Transforms/LoopVectorize.

I was wondering if this is the right place for the test, since there doesn't seem to be any checking for the built targets. I'm not sure what to do other than duplicate the test for the no-op addrspacecast and non-noop addrspacecast cases

Yea; probably best to create a target-specific subdirectory (with an associated lit.local.cfg file) just like we have for test/Transforms/LoopVectorize.

Should I create an R600_X86 subdirectory or something like that that checks both targets? Or would duplicating be better?

I was wondering if this is the right place for the test, since there doesn't seem to be any checking for the built targets. I'm not sure what to do other than duplicate the test for the no-op addrspacecast and non-noop addrspacecast cases

Yea; probably best to create a target-specific subdirectory (with an associated lit.local.cfg file) just like we have for test/Transforms/LoopVectorize.

Should I create an R600_X86 subdirectory or something like that that checks both targets? Or would duplicating be better?

Duplicating would be better.

arsenm accepted this revision.May 26 2015, 10:04 AM
arsenm added a reviewer: arsenm.

r238217. Just moved test into R600 subdirectory because it turns out there was already an X86 test testing the no-op path

This revision is now accepted and ready to land.May 26 2015, 10:04 AM
arsenm closed this revision.May 26 2015, 10:04 AM