#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/SDPatternMatch.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/Target/TargetMachine.h"
#include "gtest/gtest.h"
usingnamespacellvm;
class SelectionDAGPatternMatchTest : public testing::Test { … };
TEST_F(SelectionDAGPatternMatchTest, matchValueType) { … }
TEST_F(SelectionDAGPatternMatchTest, matchTernaryOp) { … }
TEST_F(SelectionDAGPatternMatchTest, matchBinaryOp) { … }
TEST_F(SelectionDAGPatternMatchTest, matchUnaryOp) { … }
TEST_F(SelectionDAGPatternMatchTest, matchConstants) { … }
TEST_F(SelectionDAGPatternMatchTest, patternCombinators) { … }
TEST_F(SelectionDAGPatternMatchTest, optionalResizing) { … }
TEST_F(SelectionDAGPatternMatchTest, matchNode) { … }
namespace {
struct VPMatchContext : public SDPatternMatch::BasicMatchContext { … };
}
TEST_F(SelectionDAGPatternMatchTest, matchContext) { … }
TEST_F(SelectionDAGPatternMatchTest, matchVPWithBasicContext) { … }
TEST_F(SelectionDAGPatternMatchTest, matchAdvancedProperties) { … }