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