diff options
author | Craig Topper <craig.topper@sifive.com> | 2023-08-23 21:04:28 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2023-08-23 21:14:16 -0700 |
commit | 8b82ae0b8d523f2de3a1dabad9d006b57917af71 (patch) | |
tree | 8409fe5cc1422be41a38a0a18c24f7fc1d8d3829 /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | 4f12c0b7d6fb91e2c1058470a523c008bfe0bd72 (diff) | |
download | llvm-8b82ae0b8d523f2de3a1dabad9d006b57917af71.zip llvm-8b82ae0b8d523f2de3a1dabad9d006b57917af71.tar.gz llvm-8b82ae0b8d523f2de3a1dabad9d006b57917af71.tar.bz2 |
[GlobalISel][RISCV][TableGen] Teach GlobalISelEmitter about HwMode.
Similar to SelectionDAG, this patch treats HwMode as an additional
predicate that needs to be satisfied for GIM_CheckFeatures.
The existing predicate passes around Record * that point to predicate
records. While HwMode expansion creates a string that needs to be
checked.
Each HwMode predicate string is uniqued by a new map that assigns
it an index. Each Rule stores the index, or -1 if HwMode doesn't
apply.
The HwMode indices each create a new Predicate feature bit and the
check string from the HwMode is used to set the feature bit.
GIM_CheckFeatures is emitted when the rule has Predicates or the HwModeIdx
is not -1.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D158660
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
0 files changed, 0 insertions, 0 deletions