This is direct port of HSAILAliasAnalysis pass, just cleaned for style and renamed.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 63 ↗ | (On Diff #92203) | the check can be done using xor T1->isVectorTy() ^ T2->isVectorTy() |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 1 ↗ | (On Diff #92203) | Missing comment |
| 13 ↗ | (On Diff #92203) | doesn't match pass name |
| 15–17 ↗ | (On Diff #92203) | Should move this to the TargetMachine when adding it |
| 44 ↗ | (On Diff #92203) | flat and constant may alias, this isn't the OpenCL rules |
| 58–59 ↗ | (On Diff #92203) | Use cast<> if not checking it |
| 71 ↗ | (On Diff #92203) | formatting |
| 78 ↗ | (On Diff #92203) | Missin space |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.h | ||
| 1–2 ↗ | (On Diff #92203) | Missing comment |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 75–81 ↗ | (On Diff #92203) | We should probably be marking all constant loads in the frontend with invariant metadata. |
| 83–101 ↗ | (On Diff #92203) | I think BasicAA will handle all of this, we should only need to handle the address spaces |
| test/CodeGen/AMDGPU/vectorize-global-local.ll | ||
| 15–22 ↗ | (On Diff #92203) | Should run instnamer on this |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 83–101 ↗ | (On Diff #92203) | It was not handled really, that's why it got here... |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 83–101 ↗ | (On Diff #92203) | I think this is only correct to do if F is a kernel |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 83–101 ↗ | (On Diff #92203) | You probably right, that is safer. I will change it. BTW, I have checked this method in BasicAA, it does not check argument attributes. |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 44 ↗ | (On Diff #92203) | I think in the future as an extension module metadata can be checked to see if source was OpenCL and return NoAlias for flat and constant. |