LLVM: include/llvm/CodeGen/GlobalISel/Combiner.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_CODEGEN_GLOBALISEL_COMBINER_H

16#define LLVM_CODEGEN_GLOBALISEL_COMBINER_H

17

22

23namespace llvm {

29

30

31

32

33

35private:

37

39 template <CombinerInfo::ObserverLevel Lvl> class WorkListMaintainerImpl;

40

41 WorkListTy WorkList;

42

43

44

45

46

47

48

49 std::unique_ptr Builder;

50 std::unique_ptr WLObserver;

51 std::unique_ptr ObserverWrapper;

52

53 bool HasSetupMF = false;

54

56

57public:

58

59

64

66

68

69protected:

76

79};

80

81}

82

83#endif

Option class for Targets to specify which operations are combined how and when.

This contains common code to allow clients to notify changes to machine instr.

This file declares the MachineIRBuilder class.

This class acts as the glue that joins the CombinerHelper to the overall Combine algorithm.

Combiner(MachineFunction &MF, CombinerInfo &CInfo, const TargetPassConfig *TPC, GISelValueTracking *VT, GISelCSEInfo *CSEInfo=nullptr)

If CSEInfo is not null, then the Combiner will use CSEInfo as the observer and also create a CSEMIRBu...

GISelCSEInfo * CSEInfo

Definition Combiner.h:78

bool combineMachineInstrs()

MachineRegisterInfo & MRI

Definition Combiner.h:74

const TargetPassConfig * TPC

Definition Combiner.h:77

MachineIRBuilder & B

Definition Combiner.h:72

GISelValueTracking * VT

Definition Combiner.h:75

MachineFunction & MF

Definition Combiner.h:73

CombinerInfo & CInfo

Definition Combiner.h:70

GISelChangeObserver & Observer

Definition Combiner.h:71

virtual bool tryCombineAll(MachineInstr &I) const =0

LLVM_ABI GIMatchTableExecutor()

Abstract class that contains various methods for clients to notify about changes.

Helper class to build MachineInstr.

Representation of each machine instruction.

MachineRegisterInfo - Keep track of information for virtual and physical registers,...

Target-Independent Code Generator Pass Configuration Options.

This is an optimization pass for GlobalISel generic memory operations.