aboutsummaryrefslogtreecommitdiff
path: root/backend/include
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-17 03:16:26 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-17 03:16:26 +0800
commitf5c592905e6e1ef4b78337d76c8215e543607b8d (patch)
tree193400315338b57af33699ad7f952fb3731b3a65 /backend/include
parent9720e989ccdce77a2c45a8379d36ff4428e6c2bf (diff)
downloadrcc-project-f5c592905e6e1ef4b78337d76c8215e543607b8d.tar.gz
rcc-project-f5c592905e6e1ef4b78337d76c8215e543607b8d.tar.xz
[RISCV][GlobalISel] Generate conditional branch selection
Diffstat (limited to 'backend/include')
-rw-r--r--backend/include/rcc/CodeGen/GlobalISel/GIMatchTableExecutor.h1
-rw-r--r--backend/include/rcc/TableGen/Record.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/backend/include/rcc/CodeGen/GlobalISel/GIMatchTableExecutor.h b/backend/include/rcc/CodeGen/GlobalISel/GIMatchTableExecutor.h
index 098f9d6..a5b8b8e 100644
--- a/backend/include/rcc/CodeGen/GlobalISel/GIMatchTableExecutor.h
+++ b/backend/include/rcc/CodeGen/GlobalISel/GIMatchTableExecutor.h
@@ -41,6 +41,7 @@ enum class GIMatchTableOpcode : std::uint8_t {
CheckOperandImmediateRanges,
CheckOperandDefConstantRanges,
CheckOperandDefOpcode,
+ CheckOperandDefIntegerPredicate,
CheckOperandDefOperandConstantRanges,
CaptureDefOperand,
CreateTemporary,
diff --git a/backend/include/rcc/TableGen/Record.h b/backend/include/rcc/TableGen/Record.h
index 1f9dea9..17b0e46 100644
--- a/backend/include/rcc/TableGen/Record.h
+++ b/backend/include/rcc/TableGen/Record.h
@@ -267,6 +267,7 @@ struct SourceSelectionDefUseCapture final {
struct SourceSelectionDefUsePredicate final {
std::uint32_t RootOperandIndex = 0;
std::string OpcodeSymbol;
+ std::optional<SourceSelectionIntegerPredicate> IntegerPredicate;
std::vector<SourceSelectionDefUseCapture> Captures;
std::vector<SourceSelectionOperandDefConstantPredicate> OperandDefConstants;
TextRange Range;