LLVM: lib/Analysis/ValueLatticeUtils.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

17using namespace llvm;

18

20 return F->hasLocalLinkage() && F->hasAddressTaken();

21}

22

24 return F->hasExactDefinition() && F->hasFnAttribute(Attribute::Naked);

25}

26

30 return false;

32

33

34 if (auto *Store = dyn_cast(U))

35 return Store->getValueOperand() != GV && !Store->isVolatile() &&

36 Store->getValueOperand()->getType() == GV->getValueType();

37 if (auto *Load = dyn_cast(U))

38 return !Load->isVolatile() && Load->getType() == GV->getValueType();

39

40 return false;

41 });

42}

bool hasLocalLinkage() const

bool isConstant() const

If the value is a global constant, its value is immutable throughout the runtime execution of the pro...

bool hasDefinitiveInitializer() const

hasDefinitiveInitializer - Whether the global variable has an initializer, and any other instances of...

iterator_range< user_iterator > users()

This is an optimization pass for GlobalISel generic memory operations.

bool all_of(R &&range, UnaryPredicate P)

Provide wrappers to std::all_of which take ranges instead of having to pass begin/end explicitly.

bool canTrackGlobalVariableInterprocedurally(GlobalVariable *GV)

Determine if the value maintained in the given global variable can be tracked interprocedurally.

Definition ValueLatticeUtils.cpp:27

bool canTrackReturnsInterprocedurally(Function *F)

Determine if the values of the given function's returns can be tracked interprocedurally.

Definition ValueLatticeUtils.cpp:23

bool canTrackArgumentsInterprocedurally(Function *F)

Determine if the values of the given function's arguments can be tracked interprocedurally.

Definition ValueLatticeUtils.cpp:19