[PATCH] Removing unnecessary addrspacecasts from non-generic address spaces to the generic address space

Jingyue Wu jingyue at google.com
Mon Mar 31 13:51:36 PDT 2014


Hi eliben, jholewinski,

This patch is the first step to implement the optimization we discussed in http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-March/071440.html. It removes unnecessary casts from non-generic address spaces to the generic address space for certain code patterns. 

For now, we made the optimization specific to NVPTX. If you want to use it for other targets (e.g., R600), feel free to refactor it and we would be more than happy to review your change. 

Besides adding a new test (access-non-generic.ll), we modified addrspacecast.ll because llc now generates better code for some cases in it. 

http://llvm-reviews.chandlerc.com/D3235

Files:
  lib/Target/NVPTX/CMakeLists.txt
  lib/Target/NVPTX/NVPTX.h
  lib/Target/NVPTX/NVPTXFavorNonGenericAddrSpaces.cpp
  lib/Target/NVPTX/NVPTXTargetMachine.cpp
  test/CodeGen/NVPTX/access-non-generic.ll
  test/CodeGen/NVPTX/addrspacecast.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3235.1.patch
Type: text/x-patch
Size: 13766 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140331/5cbc6f83/attachment.bin>


More information about the llvm-commits mailing list