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 | ||
|---|---|---|
| 64 | the check can be done using xor T1->isVectorTy() ^ T2->isVectorTy() | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 2 | Missing comment | |
| 14 | doesn't match pass name | |
| 16–18 | Should move this to the TargetMachine when adding it | |
| 45 | flat and constant may alias, this isn't the OpenCL rules | |
| 59–60 | Use cast<> if not checking it | |
| 72 | formatting | |
| 79 | Missin space | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.h | ||
| 2–3 | Missing comment | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 76–82 | We should probably be marking all constant loads in the frontend with invariant metadata. | |
| 84–102 | I think BasicAA will handle all of this, we should only need to handle the address spaces | |
| test/CodeGen/AMDGPU/vectorize-global-local.ll | ||
| 16–23 | Should run instnamer on this | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 84–102 | It was not handled really, that's why it got here... | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 84–102 | I think this is only correct to do if F is a kernel | |
| lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp | ||
|---|---|---|
| 84–102 | 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 | ||
|---|---|---|
| 45 | 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. | |
Missing comment