LLVM  3.7.0
Functions
Loads.cpp File Reference
#include "llvm/Analysis/Loads.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
Include dependency graph for Loads.cpp:

Go to the source code of this file.

Functions

static bool AreEquivalentAddressValues (const Value *A, const Value *B)
 Test if A and B will obviously have the same value. More...
 

Function Documentation

static bool AreEquivalentAddressValues ( const Value A,
const Value B 
)
static

Test if A and B will obviously have the same value.

This includes recognizing that t0 and t1 will have the same value in code like this:

%t0 = getelementptr \@a, 0, 3
store i32 0, i32* %t0
%t1 = getelementptr \@a, 0, 3
%t2 = load i32* %t1

Definition at line 37 of file Loads.cpp.

Referenced by llvm::FindAvailableLoadedValue(), and llvm::isSafeToLoadUnconditionally().