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(); } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits