|
Jlm
|
#include <jlm/llvm/ir/operators/alloca.hpp>#include <jlm/llvm/ir/operators/GetElementPtr.hpp>#include <jlm/llvm/ir/operators/IntegerOperations.hpp>#include <jlm/llvm/ir/operators/Load.hpp>#include <jlm/llvm/ir/operators/MemoryStateOperations.hpp>#include <jlm/llvm/ir/operators/operators.hpp>#include <jlm/llvm/ir/operators/Store.hpp>#include <jlm/llvm/ir/RvsdgModule.hpp>#include <jlm/llvm/ir/Trace.hpp>#include <jlm/llvm/ir/types.hpp>#include <jlm/llvm/opt/alias-analyses/AliasAnalysis.hpp>#include <jlm/llvm/opt/alias-analyses/Andersen.hpp>#include <jlm/llvm/opt/alias-analyses/LocalAliasAnalysis.hpp>#include <jlm/llvm/opt/alias-analyses/PointsToGraphAliasAnalysis.hpp>#include <jlm/llvm/opt/StoreValueForwarding.hpp>#include <jlm/rvsdg/delta.hpp>#include <jlm/rvsdg/gamma.hpp>#include <jlm/rvsdg/MatchType.hpp>#include <jlm/rvsdg/node.hpp>#include <jlm/rvsdg/Phi.hpp>#include <jlm/rvsdg/region.hpp>#include <jlm/rvsdg/RegionPredicateTrace.hpp>#include <jlm/rvsdg/simple-node.hpp>#include <jlm/rvsdg/structural-node.hpp>#include <jlm/rvsdg/theta.hpp>#include <jlm/rvsdg/traverser.hpp>#include <jlm/util/common.hpp>#include <jlm/util/Hash.hpp>#include <jlm/util/Statistics.hpp>#include <jlm/util/time.hpp>#include <memory>#include <optional>#include <queue>
Go to the source code of this file.
Classes | |
| struct | jlm::llvm::AliasQueryResponseCounter |
| class | jlm::llvm::StoreValueForwarding::Statistics |
| Store Value Forwarding Statistics class. More... | |
| struct | jlm::llvm::StoreValueForwarding::Context |
| struct | jlm::llvm::StoreValueForwarding::Context::OutputRegionHash |
| struct | jlm::llvm::ValueOrigin |
| class | jlm::llvm::LoadTracingInfo |
Namespaces | |
| namespace | jlm |
| namespace | jlm::llvm |
| Global memory state passed between functions. | |
Enumerations | |
| enum class | jlm::llvm::StoreNodeInfo { jlm::llvm::ValueForwarding , jlm::llvm::ClobberNoForward , jlm::llvm::NoClobber } |
| enum class | jlm::llvm::LoadNodeInfo { jlm::llvm::ValueForwarding , jlm::llvm::NoClobber } |
Functions | |
| static RegionSlice | jlm::llvm::computeRegionSlice (rvsdg::Output &output) |
| static void | jlm::llvm::copyRegionSlice (rvsdg::Region &targetRegion, const RegionSlice ®ionSlice, rvsdg::SubstitutionMap &substitutionMap) |
| static rvsdg::Output & | jlm::llvm::copyDeltaRegionSlice (rvsdg::Output &output, rvsdg::Region &targetRegion) |
| static rvsdg::Output & | jlm::llvm::copyDeltaElement (const uint64_t elementOffsetInBytes, rvsdg::Output &output, rvsdg::Region &targetRegion, const std::shared_ptr< const rvsdg::Type > &loadedType) |
| static std::unique_ptr< aa::AliasAnalysis > | jlm::llvm::createAliasAnalysis (rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) |
Variables | |
| static const bool | jlm::llvm::USE_TRIVIAL_LOCALAA = std::getenv("JLM_SVF_USE_TRIVIAL_LOCALAA") |
| static const bool | jlm::llvm::ENABLE_PTGAA = std::getenv("JLM_ENABLE_SVF_PTGAA") |
| static const bool | jlm::llvm::ENABLE_REGION_PREDICATE_CHECK |
| static const bool | jlm::llvm::DISABLE_LOAD_LOAD_FORWARDING = std::getenv("JLM_DISABLE_LOAD_LOAD_FORWARDING") |
| util::HashSet<rvsdg::Output *> arguments |
Definition at line 1074 of file StoreValueForwarding.cpp.
| std::vector<rvsdg::Node *> nodes |
Definition at line 1073 of file StoreValueForwarding.cpp.