#ifdef AARCH64_AVAILABLE
#include "AArch64Subtarget.h"
#endif
#ifdef X86_AVAILABLE
#include "X86Subtarget.h"
#endif
#include "bolt/Core/BinaryBasicBlock.h"
#include "bolt/Core/BinaryFunction.h"
#include "bolt/Rewrite/RewriteInstance.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/Support/TargetSelect.h"
#include "gtest/gtest.h"
usingnamespacellvm;
usingnamespacellvm::object;
usingnamespacellvm::ELF;
usingnamespacebolt;
namespace {
struct MCPlusBuilderTester : public testing::TestWithParam<Triple::ArchType> { … };
}
#ifdef AARCH64_AVAILABLE
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(MCPlusBuilderTester, AliasX0) { … }
TEST_P(MCPlusBuilderTester, AliasSmallerX0) { … }
#endif
#ifdef X86_AVAILABLE
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(MCPlusBuilderTester, AliasAX) { … }
TEST_P(MCPlusBuilderTester, AliasSmallerAX) { … }
TEST_P(MCPlusBuilderTester, ReplaceRegWithImm) { … }
#endif
TEST_P(MCPlusBuilderTester, Annotation) { … }