Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(918)

Unified Diff: unittest/IceParseInstsTest.cpp

Issue 877003003: Subzero: Use a "known" version of clang-format. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix wildcards Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« crosstest/mem_intrin_main.cpp ('K') | « unittest/BitcodeMunge.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: unittest/IceParseInstsTest.cpp
diff --git a/unittest/IceParseInstsTest.cpp b/unittest/IceParseInstsTest.cpp
index 898712a9e763ecd77925d0b26ece124d927798f8..416ed8de6e31126ae50ae4fc534804fdce12027c 100644
--- a/unittest/IceParseInstsTest.cpp
+++ b/unittest/IceParseInstsTest.cpp
@@ -22,83 +22,115 @@ namespace {
static const uint64_t Terminator = 0x5768798008978675LL;
// Note: alignment stored as 0 or log2(Alignment)+1.
-uint64_t getEncAlignPower(unsigned Power) {
- return Power + 1;
-}
+uint64_t getEncAlignPower(unsigned Power) { return Power + 1; }
uint64_t getEncAlignZero() { return 0; }
/// Test how we report a call arg that refers to nonexistent call argument
TEST(IceParseInstsTest, NonexistentCallArg) {
const uint64_t BitcodeRecords[] = {
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
- 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
- 3, naclbitc::TYPE_CODE_VOID, Terminator,
- 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, 0, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 1, 0, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
- 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
- // Note: 100 is a bad value index in next line.
- 3, naclbitc::FUNC_CODE_INST_CALL, 0, 4, 2, 100, Terminator,
- 3, naclbitc::FUNC_CODE_INST_RET, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator
- };
+ 1, naclbitc::BLK_CODE_ENTER,
jvoung (off chromium) 2015/01/27 18:08:11 Hmm... these used to be arranged such that each ro
Jim Stichnoth 2015/01/27 19:24:11 Ugh. Reverting the whole file change, and quarant
+ naclbitc::MODULE_BLOCK_ID, 2,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_NUMENTRY,
+ 3, Terminator,
+ 3, naclbitc::TYPE_CODE_INTEGER,
+ 32, Terminator,
+ 3, naclbitc::TYPE_CODE_VOID,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_FUNCTION, 0,
+ 1, 0,
+ 0, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 3,
+ naclbitc::MODULE_CODE_FUNCTION, 2,
+ 0, 1,
+ 0, Terminator,
+ 3, naclbitc::MODULE_CODE_FUNCTION,
+ 2, 0,
+ 0, 0,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID,
+ 2, Terminator,
+ 3, naclbitc::FUNC_CODE_DECLAREBLOCKS,
+ 1, Terminator,
+ // Note: 100 is a bad value index in next line.
+ 3, naclbitc::FUNC_CODE_INST_CALL,
+ 0, 4,
+ 2, 100,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_RET, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator};
// Show bitcode objdump for BitcodeRecords.
- NaClObjDumpMunger DumpMunger(BitcodeRecords,
- array_lengthof(BitcodeRecords), Terminator);
+ NaClObjDumpMunger DumpMunger(BitcodeRecords, array_lengthof(BitcodeRecords),
+ Terminator);
EXPECT_FALSE(DumpMunger.runTestForAssembly("Nonexistent call arg"));
- EXPECT_EQ(
- "module { // BlockID = 8\n"
- " types { // BlockID = 17\n"
- " count 3;\n"
- " @t0 = i32;\n"
- " @t1 = void;\n"
- " @t2 = void (i32, i32);\n"
- " }\n"
- " declare external void @f0(i32, i32);\n"
- " define external void @f1(i32, i32);\n"
- " function void @f1(i32 %p0, i32 %p1) { // BlockID = 12\n"
- " blocks 1;\n"
- " %b0:\n"
- " call void @f0(i32 %p0, i32 @f0);\n"
- "Error(66:4): Invalid relative value id: 100 (Must be <= 4)\n"
- " ret void;\n"
- " }\n"
- "}\n",
- DumpMunger.getTestResults());
+ EXPECT_EQ("module { // BlockID = 8\n"
+ " types { // BlockID = 17\n"
+ " count 3;\n"
+ " @t0 = i32;\n"
+ " @t1 = void;\n"
+ " @t2 = void (i32, i32);\n"
+ " }\n"
+ " declare external void @f0(i32, i32);\n"
+ " define external void @f1(i32, i32);\n"
+ " function void @f1(i32 %p0, i32 %p1) { // BlockID = 12\n"
+ " blocks 1;\n"
+ " %b0:\n"
+ " call void @f0(i32 %p0, i32 @f0);\n"
+ "Error(66:4): Invalid relative value id: 100 (Must be <= 4)\n"
+ " ret void;\n"
+ " }\n"
+ "}\n",
+ DumpMunger.getTestResults());
// Show that we get appropriate error when parsing in Subzero.
IceTest::SubzeroBitcodeMunger Munger(
BitcodeRecords, array_lengthof(BitcodeRecords), Terminator);
EXPECT_FALSE(Munger.runTest("Nonexistent call arg"));
- EXPECT_EQ(
- "Error: (66:4) Invalid function record: <34 0 4 2 100>\n",
- Munger.getTestResults());
+ EXPECT_EQ("Error: (66:4) Invalid function record: <34 0 4 2 100>\n",
+ Munger.getTestResults());
}
/// Test how we recognize alignments in alloca instructions.
TEST(IceParseInstsTests, AllocaAlignment) {
const uint64_t BitcodeRecords[] = {
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
- 3, naclbitc::TYPE_CODE_NUMENTRY, 4, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
- 3, naclbitc::TYPE_CODE_VOID, Terminator,
- 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 8, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
- 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
- 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignPower(0), Terminator,
- 3, naclbitc::FUNC_CODE_INST_RET, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator};
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::MODULE_BLOCK_ID, 2,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_NUMENTRY,
+ 4, Terminator,
+ 3, naclbitc::TYPE_CODE_INTEGER,
+ 32, Terminator,
+ 3, naclbitc::TYPE_CODE_VOID,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_FUNCTION, 0,
+ 1, 0,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_INTEGER, 8,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator,
+ 3, naclbitc::MODULE_CODE_FUNCTION,
+ 2, 0,
+ 0, 0,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID,
+ 2, Terminator,
+ 3, naclbitc::FUNC_CODE_DECLAREBLOCKS,
+ 1, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_ALLOCA,
+ 1, getEncAlignPower(0),
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_RET, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator};
const uint64_t ReplaceIndex = 11; // index for FUNC_CODE_INST_ALLOCA
@@ -132,7 +164,9 @@ TEST(IceParseInstsTests, AllocaAlignment) {
// Show what happens when changing alignment to 0.
const uint64_t Align0[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignZero(), Terminator,
+ 3, naclbitc::FUNC_CODE_INST_ALLOCA,
+ 1, getEncAlignZero(),
+ Terminator,
};
EXPECT_TRUE(Munger.runTest("Good alloca alignment 0", Align0,
array_lengthof(Align0)));
@@ -144,7 +178,9 @@ TEST(IceParseInstsTests, AllocaAlignment) {
// Show what happens when changing alignment to 2**30.
const uint64_t Align30[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignPower(30), Terminator,
+ 3, naclbitc::FUNC_CODE_INST_ALLOCA,
+ 1, getEncAlignPower(30),
+ Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad alloca alignment 30", Align30,
array_lengthof(Align30)));
@@ -162,7 +198,9 @@ TEST(IceParseInstsTests, AllocaAlignment) {
// Show what happens when changing alignment to 2**29.
const uint64_t Align29[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignPower(29), Terminator,
+ 3, naclbitc::FUNC_CODE_INST_ALLOCA,
+ 1, getEncAlignPower(29),
+ Terminator,
};
EXPECT_TRUE(Munger.runTest("Good alloca alignment 29", Align29,
array_lengthof(Align29)));
@@ -175,19 +213,36 @@ TEST(IceParseInstsTests, AllocaAlignment) {
// Test how we recognize alignments in load i32 instructions.
TEST(IceParseInstsTests, LoadI32Alignment) {
const uint64_t BitcodeRecords[] = {
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
- 3, naclbitc::TYPE_CODE_NUMENTRY, 2, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
- 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 0, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 1, 0, 0, 0, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
- 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator,
- 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator};
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::MODULE_BLOCK_ID, 2,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_NUMENTRY,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_INTEGER,
+ 32, Terminator,
+ 3, naclbitc::TYPE_CODE_FUNCTION,
+ 0, 0,
+ 0, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 3,
+ naclbitc::MODULE_CODE_FUNCTION, 1,
+ 0, 0,
+ 0, Terminator,
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::FUNCTION_BLOCK_ID, 2,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_DECLAREBLOCKS, 1,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_LOAD, 1,
+ getEncAlignPower(0), 0,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_RET, 1,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator};
const uint64_t ReplaceIndex = 9; // index for FUNC_CODE_INST_LOAD
@@ -217,7 +272,9 @@ TEST(IceParseInstsTests, LoadI32Alignment) {
// Show what happens when changing alignment to 0.
const uint64_t Align0[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignZero(), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignZero(),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load i32 alignment 0", Align0,
array_lengthof(Align0)));
@@ -232,7 +289,9 @@ TEST(IceParseInstsTests, LoadI32Alignment) {
// Show what happens when changing alignment to 4.
const uint64_t Align4[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(2), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(2),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load i32 alignment 4", Align4,
array_lengthof(Align4)));
@@ -247,7 +306,9 @@ TEST(IceParseInstsTests, LoadI32Alignment) {
// Show what happens when changing alignment to 2**29.
const uint64_t Align29[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(29), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(29),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load i32 alignment 29", Align29,
array_lengthof(Align29)));
@@ -262,7 +323,9 @@ TEST(IceParseInstsTests, LoadI32Alignment) {
// Show what happens when changing alignment to 2**30.
const uint64_t Align30[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(30), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(30),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load i32 alignment 30", Align30,
array_lengthof(Align30)));
@@ -278,20 +341,37 @@ TEST(IceParseInstsTests, LoadI32Alignment) {
// Test how we recognize alignments in load float instructions.
TEST(IceParseInstsTests, LoadFloatAlignment) {
const uint64_t BitcodeRecords[] = {
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
- 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
- 3, naclbitc::TYPE_CODE_FLOAT, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
- 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
- 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator,
- 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator};
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::MODULE_BLOCK_ID, 2,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_NUMENTRY,
+ 3, Terminator,
+ 3, naclbitc::TYPE_CODE_FLOAT,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_INTEGER, 32,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_FUNCTION, 0,
+ 0, 1,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator,
+ 3, naclbitc::MODULE_CODE_FUNCTION,
+ 2, 0,
+ 0, 0,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID,
+ 2, Terminator,
+ 3, naclbitc::FUNC_CODE_DECLAREBLOCKS,
+ 1, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(0),
+ 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_RET,
+ 1, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator};
const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_LOAD
@@ -322,7 +402,9 @@ TEST(IceParseInstsTests, LoadFloatAlignment) {
// Show what happens when changing alignment to 0.
const uint64_t Align0[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignZero(), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignZero(),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load float alignment 0", Align0,
array_lengthof(Align0)));
@@ -330,15 +412,16 @@ TEST(IceParseInstsTests, LoadFloatAlignment) {
Munger.getTestResults());
EXPECT_FALSE(DumpMunger.runTestForAssembly("Bad load float alignment 0",
Align0, array_lengthof(Align0)));
- EXPECT_EQ(
- " %v0 = load float* %p0, align 0;\n"
- "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
- DumpMunger.getLinesWithSubstring("load"));
+ EXPECT_EQ(" %v0 = load float* %p0, align 0;\n"
+ "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
+ DumpMunger.getLinesWithSubstring("load"));
// Show what happens when changing alignment to 4.
const uint64_t Align4[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(2), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(2),
+ 0, Terminator,
};
EXPECT_TRUE(Munger.runTest("Good load float alignment 4", Align4,
array_lengthof(Align4)));
@@ -349,7 +432,9 @@ TEST(IceParseInstsTests, LoadFloatAlignment) {
const uint64_t Align29[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(29), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(29),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load float alignment 29", Align29,
array_lengthof(Align29)));
@@ -357,15 +442,16 @@ TEST(IceParseInstsTests, LoadFloatAlignment) {
Munger.getTestResults());
EXPECT_FALSE(DumpMunger.runTestForAssembly("Bad load float alignment 29",
Align29, array_lengthof(Align29)));
- EXPECT_EQ(
- " %v0 = load float* %p0, align 536870912;\n"
- "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
- DumpMunger.getLinesWithSubstring("load"));
+ EXPECT_EQ(" %v0 = load float* %p0, align 536870912;\n"
+ "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
+ DumpMunger.getLinesWithSubstring("load"));
// Show what happens when changing alignment to 2**30.
const uint64_t Align30[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(30), 0, Terminator,
+ 3, naclbitc::FUNC_CODE_INST_LOAD,
+ 1, getEncAlignPower(30),
+ 0, Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad load float alignment 30", Align30,
array_lengthof(Align30)));
@@ -373,29 +459,46 @@ TEST(IceParseInstsTests, LoadFloatAlignment) {
Munger.getTestResults());
EXPECT_FALSE(DumpMunger.runTestForAssembly("Bad load float alignment 30",
Align30, array_lengthof(Align30)));
- EXPECT_EQ(
- " %v0 = load float* %p0, align 0;\n"
- "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
- DumpMunger.getLinesWithSubstring("load"));
+ EXPECT_EQ(" %v0 = load float* %p0, align 0;\n"
+ "Error(58:4): load: Illegal alignment for float. Expects: 1 or 4\n",
+ DumpMunger.getLinesWithSubstring("load"));
}
// Test how we recognize alignments in store instructions.
TEST(NaClParseInstsTests, StoreAlignment) {
const uint64_t BitcodeRecords[] = {
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
- 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
- 3, naclbitc::TYPE_CODE_FLOAT, Terminator,
- 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
- 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, 0, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator,
- 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
- 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(0), Terminator,
- 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator,
- 0, naclbitc::BLK_CODE_EXIT, Terminator};
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::MODULE_BLOCK_ID, 2,
+ Terminator, 1,
+ naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW,
+ 2, Terminator,
+ 3, naclbitc::TYPE_CODE_NUMENTRY,
+ 3, Terminator,
+ 3, naclbitc::TYPE_CODE_FLOAT,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_INTEGER, 32,
+ Terminator, 3,
+ naclbitc::TYPE_CODE_FUNCTION, 0,
+ 0, 1,
+ 0, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator, 3,
+ naclbitc::MODULE_CODE_FUNCTION, 2,
+ 0, 0,
+ 0, Terminator,
+ 1, naclbitc::BLK_CODE_ENTER,
+ naclbitc::FUNCTION_BLOCK_ID, 2,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_DECLAREBLOCKS, 1,
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_STORE, 2,
+ 1, getEncAlignPower(0),
+ Terminator, 3,
+ naclbitc::FUNC_CODE_INST_RET, 1,
+ Terminator, 0,
+ naclbitc::BLK_CODE_EXIT, Terminator,
+ 0, naclbitc::BLK_CODE_EXIT,
+ Terminator};
const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_STORE
@@ -425,8 +528,9 @@ TEST(NaClParseInstsTests, StoreAlignment) {
// Show what happens when changing alignment to 0.
const uint64_t Align0[] = {
- ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignZero(), Terminator,
+ ReplaceIndex, NaClBitcodeMunger::Replace, 3,
+ naclbitc::FUNC_CODE_INST_STORE, 2, 1,
+ getEncAlignZero(), Terminator,
};
EXPECT_FALSE(
Munger.runTest("Bad store alignment 0", Align0, array_lengthof(Align0)));
@@ -441,8 +545,9 @@ TEST(NaClParseInstsTests, StoreAlignment) {
// Show what happens when changing alignment to 4.
const uint64_t Align4[] = {
- ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(2), Terminator,
+ ReplaceIndex, NaClBitcodeMunger::Replace, 3,
+ naclbitc::FUNC_CODE_INST_STORE, 2, 1,
+ getEncAlignPower(2), Terminator,
};
EXPECT_TRUE(
Munger.runTest("Bad store alignment 4", Align4, array_lengthof(Align4)));
@@ -451,8 +556,9 @@ TEST(NaClParseInstsTests, StoreAlignment) {
// Show what happens when changing alignment to 8.
const uint64_t Align8[] = {
- ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(3), Terminator,
+ ReplaceIndex, NaClBitcodeMunger::Replace, 3,
+ naclbitc::FUNC_CODE_INST_STORE, 2, 1,
+ getEncAlignPower(3), Terminator,
};
EXPECT_FALSE(
Munger.runTest("Bad store alignment 8", Align8, array_lengthof(Align8)));
@@ -467,8 +573,9 @@ TEST(NaClParseInstsTests, StoreAlignment) {
// Show what happens when changing alignment to 2**29.
const uint64_t Align29[] = {
- ReplaceIndex, NaClBitcodeMunger::Replace,
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(29), Terminator,
+ ReplaceIndex, NaClBitcodeMunger::Replace, 3,
+ naclbitc::FUNC_CODE_INST_STORE, 2, 1,
+ getEncAlignPower(29), Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad store alignment 29", Align29,
array_lengthof(Align29)));
@@ -484,7 +591,8 @@ TEST(NaClParseInstsTests, StoreAlignment) {
const uint64_t Align30[] = {
ReplaceIndex, NaClBitcodeMunger::Replace,
// Note: alignment stored as 0 or log2(Alignment)+1.
- 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(30), Terminator,
+ 3, naclbitc::FUNC_CODE_INST_STORE, 2,
+ 1, getEncAlignPower(30), Terminator,
};
EXPECT_FALSE(Munger.runTest("Bad store alignment 30", Align30,
array_lengthof(Align30)));
« crosstest/mem_intrin_main.cpp ('K') | « unittest/BitcodeMunge.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698