7 #include <gtest/gtest.h>
18 TEST(GammaConversionTests, TestWithMatch)
29 rm.Rvsdg().GetRootRegion(),
33 *lambda->GetFunctionArguments()[0],
38 auto ev1 = gamma->AddEntryVar(lambda->GetFunctionArguments()[1]);
39 auto ev2 = gamma->AddEntryVar(lambda->GetFunctionArguments()[2]);
40 auto ex = gamma->AddExitVar({ ev1.branchArgument[0], ev2.branchArgument[1] });
42 auto f = lambda->finalize({ ex.output });
55 jlm::rvsdg::Region::ContainsOperation<jlm::hls::MuxOperation>(*lambda->subregion(),
true));
58 TEST(GammaConversionTests, TestWithoutMatch)
72 rm.Rvsdg().GetRootRegion(),
76 auto ev1 = gamma->AddEntryVar(lambda->GetFunctionArguments()[1]);
77 auto ev2 = gamma->AddEntryVar(lambda->GetFunctionArguments()[2]);
78 auto ex = gamma->AddExitVar({ ev1.branchArgument[0], ev2.branchArgument[1] });
80 auto f = lambda->finalize({ ex.output });
93 jlm::rvsdg::Region::ContainsOperation<jlm::hls::MuxOperation>(*lambda->subregion(),
true));
static jlm::util::StatisticsCollector statisticsCollector
static void CreateAndRun(rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector)
static std::unique_ptr< LlvmLambdaOperation > Create(std::shared_ptr< const jlm::rvsdg::FunctionType > type, std::string name, const jlm::llvm::Linkage &linkage, jlm::llvm::CallingConvention callingConvention, jlm::llvm::AttributeSet attributes)
static std::shared_ptr< const BitType > Create(std::size_t nbits)
Creates bit type of specified width.
static std::shared_ptr< const ControlType > Create(std::size_t nalternatives)
Instantiates control type.
static std::shared_ptr< const FunctionType > Create(std::vector< std::shared_ptr< const jlm::rvsdg::Type >> argumentTypes, std::vector< std::shared_ptr< const jlm::rvsdg::Type >> resultTypes)
static GammaNode * create(jlm::rvsdg::Output *predicate, size_t nalternatives)
static GraphExport & Create(Output &origin, std::string name)
static LambdaNode * Create(rvsdg::Region &parent, std::unique_ptr< LambdaOperation > operation)
static Node & CreateNode(Output &predicate, const std::unordered_map< uint64_t, uint64_t > &mapping, const uint64_t defaultAlternative, const size_t numAlternatives)
static std::shared_ptr< const TestType > createValueType()
TEST(GammaConversionTests, TestWithMatch)
Global memory state passed between functions.
std::string view(const rvsdg::Region *region)