LLVM: lib/Target/Mips/MipsAnalyzeImmediate.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_MIPS_MIPSANALYZEIMMEDIATE_H

10#define LLVM_LIB_TARGET_MIPS_MIPSANALYZEIMMEDIATE_H

11

13#include

14

15namespace llvm {

16

18 public:

25

26

27

28

30

31 private:

33

34

35 void AddInstr(InstSeqLs &SeqLs, const Inst &I);

36

37

38

39 void GetInstSeqLsADDiu(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);

40

41

42

43 void GetInstSeqLsORi(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);

44

45

46

47 void GetInstSeqLsSLL(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);

48

49

50 void GetInstSeqLs(uint64_t Imm, unsigned RemSize, InstSeqLs &SeqLs);

51

52

53 void ReplaceADDiuSLLWithLUi(InstSeq &Seq);

54

55

56

57 void GetShortestSeq(InstSeqLs &SeqLs, InstSeq &Insts);

58

59 unsigned Size;

60 unsigned ADDiu, ORi, SLL, LUi;

62 };

63

64}

65

66#endif

This file defines the SmallVector class.

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

This is an optimization pass for GlobalISel generic memory operations.