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

Side by Side Diff: unittest/IceParseInstsTest.cpp

Issue 1387963002: Make sure that all globals are internal, except for "start" functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix new tests. Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « tests_lit/reader_tests/unnamed.ll ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- unittest/IceParseInstsTest.cpp - test instruction errors -----------===// 1 //===- unittest/IceParseInstsTest.cpp - test instruction errors -----------===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 9
10 #include <string> 10 #include <string>
(...skipping 26 matching lines...) Expand all
37 /// Test how we report a call arg that refers to nonexistent call argument 37 /// Test how we report a call arg that refers to nonexistent call argument
38 TEST(IceParseInstsTest, NonexistentCallArg) { 38 TEST(IceParseInstsTest, NonexistentCallArg) {
39 const uint64_t BitcodeRecords[] = { 39 const uint64_t BitcodeRecords[] = {
40 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator, 40 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
41 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator, 41 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
42 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator, 42 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
43 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator, 43 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
44 3, naclbitc::TYPE_CODE_VOID, Terminator, 44 3, naclbitc::TYPE_CODE_VOID, Terminator,
45 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, 0, Terminator, 45 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, 0, Terminator,
46 0, naclbitc::BLK_CODE_EXIT, Terminator, 46 0, naclbitc::BLK_CODE_EXIT, Terminator,
47 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 1, 0, Terminator, 47 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 1, 3, Terminator,
48 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator, 48 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 3, Terminator,
49 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator, 49 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
50 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator, 50 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
51 // Note: 100 is a bad value index in next line. 51 // Note: 100 is a bad value index in next line.
52 3, naclbitc::FUNC_CODE_INST_CALL, 0, 4, 2, 100, Terminator, 52 3, naclbitc::FUNC_CODE_INST_CALL, 0, 4, 2, 100, Terminator,
53 3, naclbitc::FUNC_CODE_INST_RET, Terminator, 53 3, naclbitc::FUNC_CODE_INST_RET, Terminator,
54 0, naclbitc::BLK_CODE_EXIT, Terminator, 54 0, naclbitc::BLK_CODE_EXIT, Terminator,
55 0, naclbitc::BLK_CODE_EXIT, Terminator 55 0, naclbitc::BLK_CODE_EXIT, Terminator
56 }; 56 };
57 57
58 // Show bitcode objdump for BitcodeRecords. 58 // Show bitcode objdump for BitcodeRecords.
(...skipping 19 matching lines...) Expand all
78 TEST(IceParseInstsTests, AllocaAlignment) { 78 TEST(IceParseInstsTests, AllocaAlignment) {
79 const uint64_t BitcodeRecords[] = { 79 const uint64_t BitcodeRecords[] = {
80 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator, 80 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
81 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator, 81 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
82 3, naclbitc::TYPE_CODE_NUMENTRY, 4, Terminator, 82 3, naclbitc::TYPE_CODE_NUMENTRY, 4, Terminator,
83 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator, 83 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
84 3, naclbitc::TYPE_CODE_VOID, Terminator, 84 3, naclbitc::TYPE_CODE_VOID, Terminator,
85 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, Terminator, 85 3, naclbitc::TYPE_CODE_FUNCTION, 0, 1, 0, Terminator,
86 3, naclbitc::TYPE_CODE_INTEGER, 8, Terminator, 86 3, naclbitc::TYPE_CODE_INTEGER, 8, Terminator,
87 0, naclbitc::BLK_CODE_EXIT, Terminator, 87 0, naclbitc::BLK_CODE_EXIT, Terminator,
88 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator, 88 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 3, Terminator,
89 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator, 89 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
90 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator, 90 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
91 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignPower(0), Terminator, 91 3, naclbitc::FUNC_CODE_INST_ALLOCA, 1, getEncAlignPower(0), Terminator,
92 3, naclbitc::FUNC_CODE_INST_RET, Terminator, 92 3, naclbitc::FUNC_CODE_INST_RET, Terminator,
93 0, naclbitc::BLK_CODE_EXIT, Terminator, 93 0, naclbitc::BLK_CODE_EXIT, Terminator,
94 0, naclbitc::BLK_CODE_EXIT, Terminator}; 94 0, naclbitc::BLK_CODE_EXIT, Terminator};
95 95
96 const uint64_t ReplaceIndex = 11; // index for FUNC_CODE_INST_ALLOCA 96 const uint64_t ReplaceIndex = 11; // index for FUNC_CODE_INST_ALLOCA
97 97
98 // Show text when alignment is 1. 98 // Show text when alignment is 1.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 // Test how we recognize alignments in load i32 instructions. 146 // Test how we recognize alignments in load i32 instructions.
147 TEST(IceParseInstsTests, LoadI32Alignment) { 147 TEST(IceParseInstsTests, LoadI32Alignment) {
148 const uint64_t BitcodeRecords[] = { 148 const uint64_t BitcodeRecords[] = {
149 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator, 149 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
150 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator, 150 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
151 3, naclbitc::TYPE_CODE_NUMENTRY, 2, Terminator, 151 3, naclbitc::TYPE_CODE_NUMENTRY, 2, Terminator,
152 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator, 152 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
153 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 0, Terminator, 153 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 0, Terminator,
154 0, naclbitc::BLK_CODE_EXIT, Terminator, 154 0, naclbitc::BLK_CODE_EXIT, Terminator,
155 3, naclbitc::MODULE_CODE_FUNCTION, 1, 0, 0, 0, Terminator, 155 3, naclbitc::MODULE_CODE_FUNCTION, 1, 0, 0, 3, Terminator,
156 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator, 156 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
157 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator, 157 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
158 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator, 158 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator,
159 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator, 159 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
160 0, naclbitc::BLK_CODE_EXIT, Terminator, 160 0, naclbitc::BLK_CODE_EXIT, Terminator,
161 0, naclbitc::BLK_CODE_EXIT, Terminator}; 161 0, naclbitc::BLK_CODE_EXIT, Terminator};
162 162
163 const uint64_t ReplaceIndex = 9; // index for FUNC_CODE_INST_LOAD 163 const uint64_t ReplaceIndex = 9; // index for FUNC_CODE_INST_LOAD
164 164
165 // Show text when alignment is 1. 165 // Show text when alignment is 1.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 // Test how we recognize alignments in load float instructions. 227 // Test how we recognize alignments in load float instructions.
228 TEST(IceParseInstsTests, LoadFloatAlignment) { 228 TEST(IceParseInstsTests, LoadFloatAlignment) {
229 const uint64_t BitcodeRecords[] = { 229 const uint64_t BitcodeRecords[] = {
230 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator, 230 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
231 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator, 231 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
232 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator, 232 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
233 3, naclbitc::TYPE_CODE_FLOAT, Terminator, 233 3, naclbitc::TYPE_CODE_FLOAT, Terminator,
234 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator, 234 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
235 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, Terminator, 235 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, Terminator,
236 0, naclbitc::BLK_CODE_EXIT, Terminator, 236 0, naclbitc::BLK_CODE_EXIT, Terminator,
237 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator, 237 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 3, Terminator,
238 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator, 238 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
239 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator, 239 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
240 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator, 240 3, naclbitc::FUNC_CODE_INST_LOAD, 1, getEncAlignPower(0), 0, Terminator,
241 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator, 241 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
242 0, naclbitc::BLK_CODE_EXIT, Terminator, 242 0, naclbitc::BLK_CODE_EXIT, Terminator,
243 0, naclbitc::BLK_CODE_EXIT, Terminator}; 243 0, naclbitc::BLK_CODE_EXIT, Terminator};
244 244
245 const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_LOAD 245 const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_LOAD
246 246
247 // Show text when alignment is 1. 247 // Show text when alignment is 1.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 // Test how we recognize alignments in store instructions. 308 // Test how we recognize alignments in store instructions.
309 TEST(NaClParseInstsTests, StoreAlignment) { 309 TEST(NaClParseInstsTests, StoreAlignment) {
310 const uint64_t BitcodeRecords[] = { 310 const uint64_t BitcodeRecords[] = {
311 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator, 311 1, naclbitc::BLK_CODE_ENTER, naclbitc::MODULE_BLOCK_ID, 2, Terminator,
312 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator, 312 1, naclbitc::BLK_CODE_ENTER, naclbitc::TYPE_BLOCK_ID_NEW, 2, Terminator,
313 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator, 313 3, naclbitc::TYPE_CODE_NUMENTRY, 3, Terminator,
314 3, naclbitc::TYPE_CODE_FLOAT, Terminator, 314 3, naclbitc::TYPE_CODE_FLOAT, Terminator,
315 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator, 315 3, naclbitc::TYPE_CODE_INTEGER, 32, Terminator,
316 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, 0, Terminator, 316 3, naclbitc::TYPE_CODE_FUNCTION, 0, 0, 1, 0, Terminator,
317 0, naclbitc::BLK_CODE_EXIT, Terminator, 317 0, naclbitc::BLK_CODE_EXIT, Terminator,
318 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 0, Terminator, 318 3, naclbitc::MODULE_CODE_FUNCTION, 2, 0, 0, 3, Terminator,
319 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator, 319 1, naclbitc::BLK_CODE_ENTER, naclbitc::FUNCTION_BLOCK_ID, 2, Terminator,
320 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator, 320 3, naclbitc::FUNC_CODE_DECLAREBLOCKS, 1, Terminator,
321 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(0), Terminator, 321 3, naclbitc::FUNC_CODE_INST_STORE, 2, 1, getEncAlignPower(0), Terminator,
322 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator, 322 3, naclbitc::FUNC_CODE_INST_RET, 1, Terminator,
323 0, naclbitc::BLK_CODE_EXIT, Terminator, 323 0, naclbitc::BLK_CODE_EXIT, Terminator,
324 0, naclbitc::BLK_CODE_EXIT, Terminator}; 324 0, naclbitc::BLK_CODE_EXIT, Terminator};
325 325
326 const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_STORE 326 const uint64_t ReplaceIndex = 10; // index for FUNC_CODE_INST_STORE
327 327
328 // Show text when alignment is 1. 328 // Show text when alignment is 1.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 EXPECT_EQ("Error(62:4): Invalid function record: <24 2 1 31>\n", 395 EXPECT_EQ("Error(62:4): Invalid function record: <24 2 1 31>\n",
396 Munger.getTestResults()); 396 Munger.getTestResults());
397 EXPECT_FALSE(DumpMunger.runTestForAssembly(ARRAY(Align30))); 397 EXPECT_FALSE(DumpMunger.runTestForAssembly(ARRAY(Align30)));
398 EXPECT_EQ( 398 EXPECT_EQ(
399 " store float %p1, float* %p0, align 0;\n" 399 " store float %p1, float* %p0, align 0;\n"
400 "Error(62:4): store: Illegal alignment for float. Expects: 1 or 4\n", 400 "Error(62:4): store: Illegal alignment for float. Expects: 1 or 4\n",
401 DumpMunger.getLinesWithSubstring("store")); 401 DumpMunger.getLinesWithSubstring("store"));
402 } 402 }
403 403
404 } // end of anonymous namespace 404 } // end of anonymous namespace
OLDNEW
« no previous file with comments | « tests_lit/reader_tests/unnamed.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698