LLVM: lib/Target/X86/X86InstrFoldTables.h Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_TARGET_X86_X86INSTRFOLDTABLES_H
14#define LLVM_LIB_TARGET_X86_X86INSTRFOLDTABLES_H
15
16#include
18
19namespace llvm {
20
21
22
27
35 return TE.KeyOp < Opcode;
36 }
37};
38
39
40
42
43
44
45const X86FoldTableEntry *lookupFoldTable(unsigned RegOp, unsigned OpNum);
46
47
48
50 unsigned OpNum);
51
52
54
55
56
58 unsigned BroadcastBits);
59
60bool matchBroadcastSize(const X86FoldTableEntry &Entry, unsigned BroadcastBits);
61}
62
63#endif
This is an optimization pass for GlobalISel generic memory operations.
const X86FoldTableEntry * lookupBroadcastFoldTableBySize(unsigned MemOp, unsigned BroadcastBits)
const X86FoldTableEntry * lookupBroadcastFoldTable(unsigned RegOp, unsigned OpNum)
const X86FoldTableEntry * lookupTwoAddrFoldTable(unsigned RegOp)
const X86FoldTableEntry * lookupUnfoldTable(unsigned MemOp)
bool matchBroadcastSize(const X86FoldTableEntry &Entry, unsigned BroadcastBits)
const X86FoldTableEntry * lookupFoldTable(unsigned RegOp, unsigned OpNum)
Definition X86InstrFoldTables.h:23
bool operator==(const X86FoldTableEntry &RHS) const
Definition X86InstrFoldTables.h:31
unsigned KeyOp
Definition X86InstrFoldTables.h:24
friend bool operator<(const X86FoldTableEntry &TE, unsigned Opcode)
Definition X86InstrFoldTables.h:34
bool operator<(const X86FoldTableEntry &RHS) const
Definition X86InstrFoldTables.h:28
unsigned DstOp
Definition X86InstrFoldTables.h:25
uint16_t Flags
Definition X86InstrFoldTables.h:26