ΒΆllvm::Value* coerceAvailableValueToLoadType(
llvm::Value* StoredVal,
llvm::Type* LoadedTy,
IRBuilder<>& IRB,
const llvm::DataLayout& DL)
llvm::Value* coerceAvailableValueToLoadType(
llvm::Value* StoredVal,
llvm::Type* LoadedTy,
IRBuilder<>& IRB,
const llvm::DataLayout& DL)
Description
If we saw a store of a value to memory, and then a load from a must-aliased pointer of a different type, try to coerce the stored value to the loaded type. LoadedTy is the type of the load we want to replace. IRB is IRBuilder used to insert new instructions. If we can't do it, return null.
Declared at: llvm/include/llvm/Transforms/Utils/VNCoercion.h:46
Parameters
- llvm::Value* StoredVal
- llvm::Type* LoadedTy
- IRBuilder<>& IRB
- const llvm::DataLayout& DL