diff options
author | Justin Holewinski <jholewinski@nvidia.com> | 2014-06-27 18:35:37 +0000 |
---|---|---|
committer | Justin Holewinski <jholewinski@nvidia.com> | 2014-06-27 18:35:37 +0000 |
commit | 10da1651ed7428b35ee89e0dc72ec177bf7041aa (patch) | |
tree | 2818dd545daae6db38c2d6cd295b7de2b061e262 /lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | |
parent | 508c80f11f2f52f549caf86f9f6e07d07cea6006 (diff) | |
download | llvm-10da1651ed7428b35ee89e0dc72ec177bf7041aa.tar.gz llvm-10da1651ed7428b35ee89e0dc72ec177bf7041aa.tar.bz2 llvm-10da1651ed7428b35ee89e0dc72ec177bf7041aa.tar.xz |
[NVPTX] Implement fma and imad contraction as target DAGCombiner patterns
This also introduces DAGCombiner patterns for mul.wide to multiply two smaller integers and produce a larger integer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211935 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp')
-rw-r--r-- | lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp b/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp index 1ea47fc8d5..21e4ba5c02 100644 --- a/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp +++ b/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp @@ -24,11 +24,14 @@ using namespace llvm; #define DEBUG_TYPE "nvptx-isel" -static cl::opt<int> -FMAContractLevel("nvptx-fma-level", cl::ZeroOrMore, cl::Hidden, - cl::desc("NVPTX Specific: FMA contraction (0: don't do it" - " 1: do it 2: do it aggressively"), - cl::init(2)); +unsigned FMAContractLevel = 0; + +static cl::opt<unsigned, true> +FMAContractLevelOpt("nvptx-fma-level", cl::ZeroOrMore, cl::Hidden, + cl::desc("NVPTX Specific: FMA contraction (0: don't do it" + " 1: do it 2: do it aggressively"), + cl::location(FMAContractLevel), + cl::init(2)); static cl::opt<int> UsePrecDivF32( "nvptx-prec-divf32", cl::ZeroOrMore, cl::Hidden, |