#include "llvm/IR/VFABIDemangler.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Analysis/VectorUtils.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/SourceMgr.h"
#include "gtest/gtest.h"
#include <optional>
usingnamespacellvm;
namespace {
static LLVMContext Ctx;
class VFABIParserTest : public ::testing::Test { … };
}
FunctionType *FTyMaskVLen2_i32 = …;
FunctionType *FTyNoMaskVLen2_i32 = …;
FunctionType *FTyMaskedVLA_i32 = …;
TEST_F(VFABIParserTest, OnlyValidNames) { … }
TEST_F(VFABIParserTest, ParamListParsing) { … }
TEST_F(VFABIParserTest, ScalarNameAndVectorName_01) { … }
TEST_F(VFABIParserTest, ScalarNameAndVectorName_02) { … }
TEST_F(VFABIParserTest, ScalarNameAndVectorName_03) { … }
TEST_F(VFABIParserTest, ScalarNameOnly) { … }
TEST_F(VFABIParserTest, Parse) { … }
TEST_F(VFABIParserTest, ParseVectorName) { … }
TEST_F(VFABIParserTest, LinearWithCompileTimeNegativeStep) { … }
TEST_F(VFABIParserTest, ParseScalableSVE) { … }
TEST_F(VFABIParserTest, ParseFixedWidthSVE) { … }
TEST_F(VFABIParserTest, NotAVectorFunctionABIName) { … }
TEST_F(VFABIParserTest, LinearWithRuntimeStep) { … }
TEST_F(VFABIParserTest, LinearWithoutCompileTime) { … }
TEST_F(VFABIParserTest, LLVM_ISA) { … }
TEST_F(VFABIParserTest, InvalidMask) { … }
TEST_F(VFABIParserTest, InvalidParameter) { … }
TEST_F(VFABIParserTest, Align) { … }
TEST_F(VFABIParserTest, ParseUniform) { … }
TEST_F(VFABIParserTest, ISAIndependentMangling) { … }
TEST_F(VFABIParserTest, MissingScalarName) { … }
TEST_F(VFABIParserTest, MissingVectorName) { … }
TEST_F(VFABIParserTest, MissingVectorNameTermination) { … }
TEST_F(VFABIParserTest, ParseMaskingNEON) { … }
TEST_F(VFABIParserTest, ParseMaskingSVE) { … }
TEST_F(VFABIParserTest, ParseMaskingSSE) { … }
TEST_F(VFABIParserTest, ParseMaskingAVX) { … }
TEST_F(VFABIParserTest, ParseMaskingAVX2) { … }
TEST_F(VFABIParserTest, ParseMaskingAVX512) { … }
TEST_F(VFABIParserTest, ParseMaskingLLVM) { … }
TEST_F(VFABIParserTest, ParseScalableMaskingLLVM) { … }
TEST_F(VFABIParserTest, LLVM_InternalISA) { … }
TEST_F(VFABIParserTest, LLVM_Intrinsics) { … }
TEST_F(VFABIParserTest, ParseScalableRequiresDeclaration) { … }
TEST_F(VFABIParserTest, ZeroIsInvalidVLEN) { … }
TEST_F(VFABIParserTest, ParseScalableMaskingSVE) { … }
TEST_F(VFABIParserTest, ParseScalableMaskingSVESincos) { … }
TEST_F(VFABIParserTest, ParseWiderReturnTypeSVE) { … }
TEST_F(VFABIParserTest, ParseVoidReturnTypeSVE) { … }
TEST_F(VFABIParserTest, ParseUnsupportedElementTypeSVE) { … }
TEST_F(VFABIParserTest, ParseUnsupportedReturnTypeSVE) { … }
class VFABIAttrTest : public testing::Test { … };
TEST_F(VFABIAttrTest, Read) { … }
TEST_F(VFABIAttrTest, Write) { … }
static std::unique_ptr<Module> parseIR(LLVMContext &C, const char *IR) { … }
TEST(VFABIGetMappingsTest, IndirectCallInst) { … }