Executes GlobalISel match tables for instruction selection and combining.
Synopsis
Declared in <llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h>
class GIMatchTableExecutor;
Description
Match tables are used by the instruction selector and instruction combiners as their engine to match and apply MIR patterns.
Types
Name |
Description |
Tables and maps used while interpreting a target match table. |
Member Functions
Name |
Description |
|
Virtual destructor. |
|
Set up target‐generated per‐function state for |
|
Setup per‐MF executor state. |
Static Member Functions
Name |
Description |
Decode a ULEB128 value from |
Data Members
Name |
Description |
Optional block frequency info for size‐optimization decisions. |
|
Optional rule coverage tracking for matched patterns. |
|
Basic block currently being matched, when needed by predicates. |
|
Machine function currently being processed. |
|
Optional profile summary info for size‐optimization decisions. |
|
Optional value tracking analysis for the current function. |
Protected Types
Name |
Description |
Mutable state shared across match‐table opcode handlers. |
Protected Type Aliases
Name |
Description |
Optional list of complex‐pattern operand renderer callbacks. |
|
Small vector of newly built machine instructions. |
|
Small vector of recorded machine instructions from the match. |
Protected Member Functions
Name |
Description |
|
Construct a match‐table executor with default state. |
Execute a given matcher table and return true if the match was successful and false otherwise. |
|
|
Return the match table used by this executor. |
Return true if the operand is a G_PTR_ADD with a G_CONSTANT RHS. |
|
Return true if |
|
Return true if |
|
|
Run a custom match‐table action and optionally emit new instructions. |
Return true if the current function or block should be optimized for size. |
|
|
Test an APFloat immediate predicate against |
|
Test an APInt immediate predicate against |
|
Test an I64 immediate predicate against |
|
Test a C++ machine‐instruction predicate on |
|
Test a C++ machine‐operand predicate on |
|
Test a simple predicate that takes no match‐table arguments. |
Protected Static Member Functions
Name |
Description |
Return the operands of |
|
Read a value of type |
Derived Classes
Name |
Description |
Combiner implementation. This is per‐function, so passes need to recreate one of these each time they enter a new function. |
|
Selects (possibly generic) machine instructions to target‐specific opcodes. |
Created with MrDocs