aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2023-06-16 11:22:44 -0700
committerCraig Topper <craig.topper@sifive.com>2023-06-16 11:22:44 -0700
commit95d3fd9a91376e0ef60c4e7599b4d224ac6f0e6f (patch)
treec50fde84fd390341ca2609dfa66d815aa7e637c3 /llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
parent0356ceedf2e90459597adfda19db2c52faf7aacd (diff)
downloadllvm-95d3fd9a91376e0ef60c4e7599b4d224ac6f0e6f.zip
llvm-95d3fd9a91376e0ef60c4e7599b4d224ac6f0e6f.tar.gz
llvm-95d3fd9a91376e0ef60c4e7599b4d224ac6f0e6f.tar.bz2
[RISCV] Refactor how we create separate instructions for F and Zfinx. NFC
Previously we had a ExtInfo_rr class that was instantiated for every combination of types that can appear together along with their predicates, suffixes, and decoder namespace. This patch replaces this with a new ExtInfo class that contains predicates, suffix, namespace, and the f16, f32, and f64 DAGOperands implied by the predicates. The DAGOperand can be unset if the predicate is not enough to distinquish it. At every instruction instantiation we know whether the operands are GPR, f16, f32, or f64 and can ask the ExtInfo for the relevant DAGOperand. The foreach loops of ExtInfo have been moved out of the classes to be at the top level of the 3 files. This allows the file to pick the f16/f32/f64 DAGOperand per instruction and pass it down to the classes separately from the ExtInfo. The ExtInfo still needs to be passed down to get suffix, predicates, and decoder namespace. Reviewed By: sunshaoce Differential Revision: https://reviews.llvm.org/D152948
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopRotationUtils.cpp')
0 files changed, 0 insertions, 0 deletions