[llvm-branch-commits] [llvm-branch] r333475 - Merging r328885:
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue May 29 16:03:38 PDT 2018
Author: tstellar
Date: Tue May 29 16:03:38 2018
New Revision: 333475
URL: http://llvm.org/viewvc/llvm-project?rev=333475&view=rev
Log:
Merging r328885:
------------------------------------------------------------------------
r328885 | timshen | 2018-03-30 10:51:03 -0700 (Fri, 30 Mar 2018) | 14 lines
[NVPTX] Enable StructuredCFG for NVPTX
Summary:
Make NVPTX require structured CFG. Added a temporary flag to
"roll back" the behavior for easy deployment.
Combined with D45008, this fixes several internal Nvidia GPU test
failures that we suspect to be ptxas miscompiles (PR27738).
Reviewers: jlebar
Subscribers: jholewinski, sanjoy, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D45070
------------------------------------------------------------------------
Modified:
llvm/branches/release_60/lib/Target/NVPTX/NVPTXTargetMachine.cpp
Modified: llvm/branches/release_60/lib/Target/NVPTX/NVPTXTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/lib/Target/NVPTX/NVPTXTargetMachine.cpp?rev=333475&r1=333474&r2=333475&view=diff
==============================================================================
--- llvm/branches/release_60/lib/Target/NVPTX/NVPTXTargetMachine.cpp (original)
+++ llvm/branches/release_60/lib/Target/NVPTX/NVPTXTargetMachine.cpp Tue May 29 16:03:38 2018
@@ -44,6 +44,14 @@ static cl::opt<bool>
cl::desc("Disable load/store vectorizer"),
cl::init(false), cl::Hidden);
+// TODO: Remove this flag when we are confident with no regressions.
+static cl::opt<bool> DisableRequireStructuredCFG(
+ "disable-nvptx-require-structured-cfg",
+ cl::desc("Transitional flag to turn off NVPTX's requirement on preserving "
+ "structured CFG. The requirement should be disabled only when "
+ "unexpected regressions happen."),
+ cl::init(false), cl::Hidden);
+
namespace llvm {
void initializeNVVMIntrRangePass(PassRegistry&);
@@ -108,6 +116,8 @@ NVPTXTargetMachine::NVPTXTargetMachine(c
drvInterface = NVPTX::NVCL;
else
drvInterface = NVPTX::CUDA;
+ if (!DisableRequireStructuredCFG)
+ setRequiresStructuredCFG(true);
initAsmInfo();
}
More information about the llvm-branch-commits
mailing list