[PATCH] D11663: [NVPTX] Added an option to run NVVMReflect pass.
Artem Belevich
tra at google.com
Thu Jul 30 14:48:10 PDT 2015
tra created this revision.
tra added reviewers: echristo, jholewinski.
tra added a subscriber: llvm-commits.
Herald added a subscriber: jholewinski.
The pass is needed to remove __nvvm_reflect calls after we link in libdevice bitcode that comes with CUDA.
http://llvm.org/docs/NVPTXUsage.html#linking-with-libdevice
Internalize and GDCE will be done in the front-end.
http://reviews.llvm.org/D11663
Files:
lib/Target/NVPTX/NVPTXTargetMachine.cpp
Index: lib/Target/NVPTX/NVPTXTargetMachine.cpp
===================================================================
--- lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -76,6 +76,11 @@
initializeNVPTXLowerAggrCopiesPass(PR);
}
+static cl::opt<bool> NVPTXEnableReflect(
+ "nvptx-enable-reflect", cl::init(false), cl::Hidden,
+ cl::desc("Run NVVM reflection pass before other standard passes, "
+ "disabled by default"));
+
static std::string computeDataLayout(bool is64Bit) {
std::string Ret = "e";
@@ -176,6 +181,8 @@
disablePass(&MachineCopyPropagationID);
disablePass(&TailDuplicateID);
+ if (NVPTXEnableReflect)
+ addPass(createNVVMReflectPass());
addPass(createNVPTXImageOptimizerPass());
addPass(createNVPTXAssignValidGlobalNamesPass());
addPass(createGenericToNVVMPass());
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11663.31076.patch
Type: text/x-patch
Size: 867 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150730/eae62e15/attachment.bin>
More information about the llvm-commits
mailing list