Jlm
Loading...
Searching...
No Matches
Namespaces | Functions
Load.cpp File Reference
#include <jlm/llvm/ir/operators/alloca.hpp>
#include <jlm/llvm/ir/operators/ConversionOperations.hpp>
#include <jlm/llvm/ir/operators/delta.hpp>
#include <jlm/llvm/ir/operators/IOBarrier.hpp>
#include <jlm/llvm/ir/operators/Load.hpp>
#include <jlm/llvm/ir/operators/Store.hpp>
#include <jlm/llvm/ir/RvsdgModule.hpp>
#include <jlm/llvm/ir/Trace.hpp>
#include <jlm/rvsdg/delta.hpp>
#include <jlm/rvsdg/lambda.hpp>
#include <jlm/util/HashSet.hpp>
Include dependency graph for Load.cpp:

Go to the source code of this file.

Namespaces

namespace  jlm
 
namespace  jlm::llvm
 Global memory state passed between functions.
 

Functions

static bool jlm::llvm::is_load_alloca_reducible (const std::vector< rvsdg::Output * > &operands)
 
static bool jlm::llvm::is_reducible_state (const rvsdg::Output *state, const rvsdg::Node *loadalloca)
 
static bool jlm::llvm::is_load_store_state_reducible (const LoadNonVolatileOperation &op, const std::vector< rvsdg::Output * > &operands)
 
static bool jlm::llvm::is_multiple_origin_reducible (const std::vector< rvsdg::Output * > &operands)
 
static std::vector< rvsdg::Output * > jlm::llvm::perform_load_alloca_reduction (const LoadNonVolatileOperation &op, const std::vector< rvsdg::Output * > &operands)
 
static std::vector< rvsdg::Output * > jlm::llvm::perform_load_store_state_reduction (const LoadNonVolatileOperation &op, const std::vector< rvsdg::Output * > &operands)
 
static std::vector< rvsdg::Output * > jlm::llvm::perform_multiple_origin_reduction (const LoadNonVolatileOperation &op, const std::vector< rvsdg::Output * > &operands)
 
static std::optional< size_t > jlm::llvm::getAllocationSizeInBytes (const rvsdg::Output &output)