Lines Matching refs:Analysis

67       : SuccessfullyInitialised(false), Analysis(Trip) {}  in BasicFileAnalysisTest()
72 if (auto Err = Analysis.initialiseDisassemblyMembers()) { in SetUp()
83 ELFTestFileAnalysis Analysis; member in llvm::cfi_verify::__anone8219feb0111::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()
710 Analysis.parseSectionContents( in TEST_F()
722 GraphResult Result = GraphBuilder::buildFlowGraph(Analysis, {0x68811d, 0x0}); in TEST_F()
724 Analysis.validateCFIProtection(Result)); in TEST_F()
729 Analysis.parseSectionContents( in TEST_F()
736 Analysis.parseSectionContents( in TEST_F()
746 Analysis.parseSectionContents( in TEST_F()
753 GraphResult Result = GraphBuilder::buildFlowGraph(Analysis, {0x775a68, 0x0}); in TEST_F()
755 Analysis.validateCFIProtection(Result)); in TEST_F()
757 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()
770 Analysis.parseSectionContents( in TEST_F()
779 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 10, 0x0}); in TEST_F()
781 Analysis.validateCFIProtection(Result)); in TEST_F()
787 Analysis.parseSectionContents( in TEST_F()
796 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 8, 0x0}); in TEST_F()
798 Analysis.validateCFIProtection(Result)); in TEST_F()
804 Analysis.parseSectionContents( in TEST_F()
813 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 9, 0x0}); in TEST_F()
815 Analysis.validateCFIProtection(Result)); in TEST_F()
821 Analysis.parseSectionContents( in TEST_F()
832 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 4, 0x0}); in TEST_F()
834 Analysis.validateCFIProtection(Result)); in TEST_F()
840 Analysis.parseSectionContents( in TEST_F()
846 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF, 0x0}); in TEST_F()
848 Analysis.validateCFIProtection(Result)); in TEST_F()
854 Analysis.parseSectionContents( in TEST_F()
862 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 8, 0x0}); in TEST_F()
864 Analysis.validateCFIProtection(Result)); in TEST_F()
870 Analysis.parseSectionContents( in TEST_F()
879 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
881 Analysis.validateCFIProtection(Result)); in TEST_F()
887 Analysis.parseSectionContents( in TEST_F()
896 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
898 Analysis.validateCFIProtection(Result)); in TEST_F()
904 Analysis.parseSectionContents( in TEST_F()
914 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
916 Analysis.validateCFIProtection(Result)); in TEST_F()
922 Analysis.parseSectionContents( in TEST_F()
932 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
934 Analysis.validateCFIProtection(Result)); in TEST_F()
940 Analysis.parseSectionContents( in TEST_F()
950 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
952 Analysis.validateCFIProtection(Result)); in TEST_F()
958 Analysis.parseSectionContents( in TEST_F()
968 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
970 Analysis.validateCFIProtection(Result)); in TEST_F()
976 Analysis.parseSectionContents( in TEST_F()
986 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
988 Analysis.validateCFIProtection(Result)); in TEST_F()
994 Analysis.parseSectionContents( in TEST_F()
1004 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 16, 0x0}); in TEST_F()
1006 Analysis.validateCFIProtection(Result)); in TEST_F()
1012 Analysis.parseSectionContents( in TEST_F()
1021 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 12, 0x0}); in TEST_F()
1023 Analysis.validateCFIProtection(Result)); in TEST_F()
1029 Analysis.parseSectionContents( in TEST_F()
1041 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 20, 0x0}); in TEST_F()
1043 Analysis.validateCFIProtection(Result)); in TEST_F()
1049 Analysis.parseSectionContents( in TEST_F()
1062 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 24, 0x0}); in TEST_F()
1064 Analysis.validateCFIProtection(Result)); in TEST_F()
1070 Analysis.parseSectionContents( in TEST_F()
1083 GraphBuilder::buildFlowGraph(Analysis, {0xDEADBEEF + 24, 0x0}); in TEST_F()
1085 Analysis.validateCFIProtection(Result)); in TEST_F()