LLVM: lib/MC/MCInstrAnalysis.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

10

12#include

13

14namespace llvm {

16}

17

18using namespace llvm;

19

22 APInt &Writes) const {

24 return false;

25}

26

29 uint64_t & ) const {

30 return false;

31}

32

36 return std::nullopt;

37}

38

39std::optional<uint64_t>

42 return std::nullopt;

43}

unsigned const MachineRegisterInfo * MRI

This file implements a class to represent arbitrary precision integral constant values and operations...

Class for arbitrary precision integers.

void clearAllBits()

Set every bit to 0.

Instances of this class represent a single low-level machine instruction.

virtual std::optional< uint64_t > getMemoryOperandRelocationOffset(const MCInst &Inst, uint64_t Size) const

Given an instruction with a memory operand that could require relocation, returns the offset within t...

Definition MCInstrAnalysis.cpp:40

virtual bool evaluateBranch(const MCInst &Inst, uint64_t Addr, uint64_t Size, uint64_t &Target) const

Given a branch instruction try to get the address the branch targets.

Definition MCInstrAnalysis.cpp:27

virtual std::optional< uint64_t > evaluateMemoryOperandAddress(const MCInst &Inst, const MCSubtargetInfo *STI, uint64_t Addr, uint64_t Size) const

Given an instruction tries to get the address of a memory operand.

Definition MCInstrAnalysis.cpp:33

virtual bool clearsSuperRegisters(const MCRegisterInfo &MRI, const MCInst &Inst, APInt &Writes) const

Returns true if at least one of the register writes performed by.

Definition MCInstrAnalysis.cpp:20

MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...

Generic base class for all target subtargets.

This is an optimization pass for GlobalISel generic memory operations.