6#include <gtest/gtest.h>
52 for (
int i = 0;
i < 256;
i++)
54 char c =
static_cast<char>(
static_cast<unsigned char>(
i));
56 !((
'A' <=
c &&
c <=
'Z') || (
'a' <=
c &&
c <=
'z') || (
'0' <=
c &&
c <=
'9') ||
c ==
'_');
113 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
elements;
133 rvsdg.GetRootRegion(),
137 Linkage::externalLinkage));
140 lambda->finalize({ lambda->GetFunctionArguments()[0], lambda->GetFunctionArguments()[1] });
145 auto &
import = GraphImport::Create(rvsdg, valueType, "input0");
198 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
elements;
207 rvsdg.GetRootRegion(),
211 Linkage::externalLinkage));
217 rvsdg.GetRootRegion(),
221 Linkage::externalLinkage));
228 rvsdg.GetRootRegion(),
235 rvsdg.GetRootRegion(),
239 Linkage::externalLinkage));
245 rvsdg.GetRootRegion(),
249 Linkage::externalLinkage));
259 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
elements;
267 rvsdg.GetRootRegion(),
271 Linkage::externalLinkage));
280 rvsdg.GetRootRegion(),
290 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
elements;
299 rvsdg.GetRootRegion(),
303 Linkage::externalLinkage));
309 rvsdg.GetRootRegion(),
313 Linkage::externalLinkage));
318 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
respElements;
323 rvsdg.GetRootRegion(),
327 Linkage::externalLinkage));
334 rvsdg.GetRootRegion(),
338 Linkage::externalLinkage));
346 rvsdg.GetRootRegion(),
350 Linkage::externalLinkage));
357 std::vector<std::pair<std::string, std::shared_ptr<const Type>>>
respElements2;
362 rvsdg.GetRootRegion(),
366 Linkage::externalLinkage));
380 rvsdg.GetRootRegion(),
383 { BitType::Create(32),
387 BitType::Create(32) },
388 { TestType::createValueType(),
389 TestType::createValueType(),
390 TestType::createValueType() }),
392 Linkage::externalLinkage));
TEST(BaseHlsTests, TestIsForbiddenChar)
std::vector< rvsdg::RegionResult * > get_mem_reqs(const rvsdg::LambdaNode &lambda)
std::vector< rvsdg::RegionArgument * > get_reg_args(const rvsdg::LambdaNode &lambda)
std::string extension() override
std::string GetText(LlvmRvsdgModule &rm) override
std::vector< rvsdg::RegionResult * > get_reg_results(const rvsdg::LambdaNode &lambda)
std::vector< rvsdg::RegionArgument * > get_mem_resps(const rvsdg::LambdaNode &lambda)
std::unordered_map< const rvsdg::Node *, std::string > node_map
std::vector< rvsdg::RegionResult * > get_mem_reqs(const rvsdg::LambdaNode &lambda)
std::vector< rvsdg::RegionArgument * > get_reg_args(const rvsdg::LambdaNode &lambda)
static std::string get_port_name(jlm::rvsdg::Input *port)
static int JlmSize(const jlm::rvsdg::Type *type)
std::unordered_map< jlm::rvsdg::Output *, std::string > output_map
std::string get_node_name(const rvsdg::Node *node)
std::vector< rvsdg::RegionResult * > get_reg_results(const rvsdg::LambdaNode &lambda)
std::vector< rvsdg::RegionArgument * > get_mem_resps(const rvsdg::LambdaNode &lambda)
static std::shared_ptr< const ArrayType > Create(std::shared_ptr< const Type > type, size_t nelements)
static std::shared_ptr< const FixedVectorType > Create(std::shared_ptr< const rvsdg::Type > type, size_t size)
static std::shared_ptr< const FloatingPointType > Create(fpsize size)
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 PointerType > Create()
static std::shared_ptr< const ScalableVectorType > Create(std::shared_ptr< const rvsdg::Type > type, size_t size)
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 LambdaNode * Create(rvsdg::Region &parent, std::unique_ptr< LambdaOperation > operation)
static SimpleNode * createNode(Region *region, const std::vector< Output * > &operands, std::vector< std::shared_ptr< const Type > > resultTypes)
static std::shared_ptr< const TestType > createStateType()
static std::shared_ptr< const TestType > createValueType()
int JlmSize(const jlm::rvsdg::Type *type)
bool isForbiddenChar(char c)
Global memory state passed between functions.
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.