Lines Matching full:analysis

67       : SuccessfullyInitialised(false), Analysis(Trip) {}  in BasicFileAnalysisTest()
72 if (auto Err = Analysis.initialiseDisassemblyMembers()) { in SetUp()
83 ELFTestFileAnalysis Analysis; member in llvm::cfi_verify::__anon0c1e9fee0111::BasicFileAnalysisTest
99 Analysis.parseSectionContents( in TEST_F()
113 EXPECT_EQ(nullptr, Analysis.getInstruction(0x0)); in TEST_F()
114 EXPECT_EQ(nullptr, Analysis.getInstruction(0x1000)); in TEST_F()
117 const auto *InstrMeta = Analysis.getInstruction(0xDEADBEEF); in TEST_F()
123 const auto *NextInstrMeta = Analysis.getNextInstructionSequential(*InstrMeta); in TEST_F()
124 EXPECT_EQ(nullptr, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
128 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 1); in TEST_F()
135 NextInstrMeta = Analysis.getNextInstructionSequential(*InstrMeta); in TEST_F()
136 EXPECT_EQ(PrevInstrMeta, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
140 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 3); in TEST_F()
147 NextInstrMeta = Analysis.getNextInstructionSequential(*InstrMeta); in TEST_F()
148 EXPECT_EQ(PrevInstrMeta, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
152 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 6); in TEST_F()
159 NextInstrMeta = Analysis.getNextInstructionSequential(*InstrMeta); in TEST_F()
160 EXPECT_EQ(PrevInstrMeta, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
164 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 10); in TEST_F()
171 EXPECT_EQ(nullptr, Analysis.getNextInstructionSequential(*InstrMeta)); in TEST_F()
172 EXPECT_EQ(PrevInstrMeta, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
176 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 20); in TEST_F()
182 EXPECT_EQ(nullptr, Analysis.getNextInstructionSequential(*InstrMeta)); in TEST_F()
183 EXPECT_EQ(PrevInstrMeta, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
186 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 21); in TEST_F()
192 EXPECT_EQ(nullptr, Analysis.getNextInstructionSequential(*InstrMeta)); in TEST_F()
193 EXPECT_EQ(nullptr, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
196 InstrMeta = Analysis.getInstruction(0xDEADBEEF + 23); in TEST_F()
202 EXPECT_EQ(nullptr, Analysis.getNextInstructionSequential(*InstrMeta)); in TEST_F()
203 EXPECT_EQ(nullptr, Analysis.getPrevInstructionSequential(*InstrMeta)); in TEST_F()
209 Analysis.parseSectionContents( in TEST_F()
216 const auto &BadInstrMeta = Analysis.getInstructionOrDie(0xDEADBEEF + 1); in TEST_F()
218 Analysis.getPrevInstructionSequential(BadInstrMeta); in TEST_F()
223 GoodInstrMeta = Analysis.getNextInstructionSequential(BadInstrMeta); in TEST_F()
232 Analysis.parseSectionContents( in TEST_F()
247 EXPECT_FALSE(Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF))); in TEST_F()
249 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 3))); in TEST_F()
251 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 6))); in TEST_F()
253 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 10))); in TEST_F()
255 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 20))); in TEST_F()
257 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 21))); in TEST_F()
259 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 23))); in TEST_F()
261 Analysis.isCFITrap(Analysis.getInstructionOrDie(0xDEADBEEF + 28))); in TEST_F()
267 Analysis.parseSectionContents( in TEST_F()
283 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF))); in TEST_F()
285 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 1))); in TEST_F()
287 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 3))); in TEST_F()
289 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 4))); in TEST_F()
291 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 6))); in TEST_F()
293 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 8))); in TEST_F()
295 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 10))); in TEST_F()
297 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 15))); in TEST_F()
299 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 17))); in TEST_F()
301 Analysis.canFallThrough(Analysis.getInstructionOrDie(0xDEADBEEF + 19))); in TEST_F()
307 Analysis.parseSectionContents( in TEST_F()
329 const auto *Current = Analysis.getInstruction(0xDEADBEEF); in TEST_F()
330 const auto *Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
334 Current = Analysis.getInstruction(0xDEADBEEF + 1); in TEST_F()
335 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
337 Current = Analysis.getInstruction(0xDEADBEEF + 3); in TEST_F()
338 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
340 Current = Analysis.getInstruction(0xDEADBEEF + 4); in TEST_F()
341 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
343 Current = Analysis.getInstruction(0xDEADBEEF + 6); in TEST_F()
344 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
346 Current = Analysis.getInstruction(0xDEADBEEF + 8); in TEST_F()
347 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
351 Current = Analysis.getInstruction(0xDEADBEEF + 10); in TEST_F()
352 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
356 Current = Analysis.getInstruction(0xDEADBEEF + 12); in TEST_F()
357 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
361 Current = Analysis.getInstruction(0xDEADBEEF + 17); in TEST_F()
363 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
364 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
366 Current = Analysis.getInstruction(0xDEADBEEF + 22); in TEST_F()
367 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
371 Current = Analysis.getInstruction(0xDEADBEEF + 27); in TEST_F()
372 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
373 Current = Analysis.getInstruction(0xDEADBEEF + 29); in TEST_F()
374 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
375 Current = Analysis.getInstruction(0xDEADBEEF + 31); in TEST_F()
376 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
377 Current = Analysis.getInstruction(0xDEADBEEF + 33); in TEST_F()
378 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
380 Current = Analysis.getInstruction(0xDEADBEEF + 34); in TEST_F()
381 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
385 Current = Analysis.getInstruction(0xDEADBEEF + 36); in TEST_F()
386 EXPECT_EQ(nullptr, Analysis.getDefiniteNextInstruction(*Current)); in TEST_F()
388 Current = Analysis.getInstruction(0xDEADBEEF + 38); in TEST_F()
389 Next = Analysis.getDefiniteNextInstruction(*Current); in TEST_F()
397 Analysis.parseSectionContents( in TEST_F()
418 const auto *InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF); in TEST_F()
420 Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
423 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 1); in TEST_F()
424 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
430 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 3); in TEST_F()
431 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
436 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 4); in TEST_F()
437 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
441 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 6); in TEST_F()
442 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
444 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 8); in TEST_F()
445 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
446 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
448 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 10); in TEST_F()
449 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
453 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 12); in TEST_F()
454 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
455 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
457 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 17); in TEST_F()
458 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
463 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 22); in TEST_F()
464 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
465 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
467 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 27); in TEST_F()
468 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
469 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
471 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 29); in TEST_F()
472 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
473 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
475 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 31); in TEST_F()
476 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
481 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 33); in TEST_F()
482 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
486 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 34); in TEST_F()
487 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
488 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
490 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 36); in TEST_F()
491 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
492 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
494 InstrMetaPtr = &Analysis.getInstructionOrDie(0xDEADBEEF + 38); in TEST_F()
495 XRefs = Analysis.getDirectControlFlowXRefs(*InstrMetaPtr); in TEST_F()
496 EXPECT_TRUE(Analysis.getDirectControlFlowXRefs(*InstrMetaPtr).empty()); in TEST_F()
502 Analysis.parseSectionContents( in TEST_F()
510 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF, 0x0}); in TEST_F()
512 Analysis.validateCFIProtection(Result)); in TEST_F()
513 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 1, 0x0}); in TEST_F()
515 Analysis.validateCFIProtection(Result)); in TEST_F()
516 Result = GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 3, 0x0}); in TEST_F()
518 Analysis.validateCFIProtection(Result)); in TEST_F()
519 Result = GraphBuilder::buildFlowGraph(Analysis, {0x12345678, 0x0}); in TEST_F()
521 Analysis.validateCFIProtection(Result)); in TEST_F()
527 Analysis.parseSectionContents( in TEST_F()
535 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 4, 0x0}); in TEST_F()
537 Analysis.validateCFIProtection(Result)); in TEST_F()
543 Analysis.parseSectionContents( in TEST_F()
551 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 2, 0x0}); in TEST_F()
553 Analysis.validateCFIProtection(Result)); in TEST_F()
559 Analysis.parseSectionContents( in TEST_F()
570 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 3, 0x0}); in TEST_F()
572 Analysis.validateCFIProtection(Result)); in TEST_F()
578 Analysis.parseSectionContents( in TEST_F()
588 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 3, 0x0}); in TEST_F()
590 Analysis.validateCFIProtection(Result)); in TEST_F()
596 Analysis.parseSectionContents( in TEST_F()
612 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 6, 0x0}); in TEST_F()
614 Analysis.validateCFIProtection(Result)); in TEST_F()
622 Analysis.parseSectionContents( in TEST_F()
637 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 2, 0x0}); in TEST_F()
639 Analysis.validateCFIProtection(Result)); in TEST_F()
647 Analysis.parseSectionContents( in TEST_F()
656 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 4, 0x0}); in TEST_F()
658 Analysis.validateCFIProtection(Result)); in TEST_F()
664 Analysis.parseSectionContents( in TEST_F()
673 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 4, 0x0}); in TEST_F()
675 Analysis.validateCFIProtection(Result)); in TEST_F()
683 Analysis.parseSectionContents( in TEST_F()
703 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 9, 0x0}); in TEST_F()
705 Analysis.validateCFIProtection(Result)); in TEST_F()
712 Analysis.parseSectionContents( in TEST_F()
724 GraphResult Result = GraphBuilder::buildFlowGraph(Analysis, {0x68811d, 0x0}); in TEST_F()
726 Analysis.validateCFIProtection(Result)); in TEST_F()
733 Analysis.parseSectionContents( in TEST_F()
740 Analysis.parseSectionContents( in TEST_F()
750 Analysis.parseSectionContents( in TEST_F()
757 GraphResult Result = GraphBuilder::buildFlowGraph(Analysis, {0x775a68, 0x0}); in TEST_F()
759 Analysis.validateCFIProtection(Result)); in TEST_F()
761 Result = GraphBuilder::buildFlowGraph(Analysis, {0x775a68, 0x0}); in TEST_F()
763 Analysis.validateCFIProtection(Result)); in TEST_F()
765 Result = GraphBuilder::buildFlowGraph(Analysis, {0x775a68, 0x0}); in TEST_F()
767 Analysis.validateCFIProtection(Result)); in TEST_F()
774 Analysis.parseSectionContents( in TEST_F()
783 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 10, 0x0}); in TEST_F()
785 Analysis.validateCFIProtection(Result)); in TEST_F()
791 Analysis.parseSectionContents( in TEST_F()
800 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 8, 0x0}); in TEST_F()
802 Analysis.validateCFIProtection(Result)); in TEST_F()
808 Analysis.parseSectionContents( in TEST_F()
817 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 9, 0x0}); in TEST_F()
819 Analysis.validateCFIProtection(Result)); in TEST_F()
825 Analysis.parseSectionContents( in TEST_F()
836 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 4, 0x0}); in TEST_F()
838 Analysis.validateCFIProtection(Result)); in TEST_F()
844 Analysis.parseSectionContents( in TEST_F()
850 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF, 0x0}); in TEST_F()
852 Analysis.validateCFIProtection(Result)); in TEST_F()
858 Analysis.parseSectionContents( in TEST_F()
866 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 8, 0x0}); in TEST_F()
868 Analysis.validateCFIProtection(Result)); in TEST_F()
874 Analysis.parseSectionContents( in TEST_F()
883 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
885 Analysis.validateCFIProtection(Result)); in TEST_F()
891 Analysis.parseSectionContents( in TEST_F()
900 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
902 Analysis.validateCFIProtection(Result)); in TEST_F()
908 Analysis.parseSectionContents( in TEST_F()
918 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
920 Analysis.validateCFIProtection(Result)); in TEST_F()
926 Analysis.parseSectionContents( in TEST_F()
936 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
938 Analysis.validateCFIProtection(Result)); in TEST_F()
944 Analysis.parseSectionContents( in TEST_F()
954 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
956 Analysis.validateCFIProtection(Result)); in TEST_F()
962 Analysis.parseSectionContents( in TEST_F()
972 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
974 Analysis.validateCFIProtection(Result)); in TEST_F()
980 Analysis.parseSectionContents( in TEST_F()
990 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
992 Analysis.validateCFIProtection(Result)); in TEST_F()
998 Analysis.parseSectionContents( in TEST_F()
1008 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
1010 Analysis.validateCFIProtection(Result)); in TEST_F()
1016 Analysis.parseSectionContents( in TEST_F()
1025 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
1027 Analysis.validateCFIProtection(Result)); in TEST_F()
1033 Analysis.parseSectionContents( in TEST_F()
1045 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 20, 0x0}); in TEST_F()
1047 Analysis.validateCFIProtection(Result)); in TEST_F()
1053 Analysis.parseSectionContents( in TEST_F()
1066 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 24, 0x0}); in TEST_F()
1068 Analysis.validateCFIProtection(Result)); in TEST_F()
1074 Analysis.parseSectionContents( in TEST_F()
1087 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 24, 0x0}); in TEST_F()
1089 Analysis.validateCFIProtection(Result)); in TEST_F()