Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_asm_mipsbe /src/keystone/suite/fuzz/fuzz_asm_mipsbe.c 2897 6854 24 228 11762 6769 fuzz_asm_mipsbe.c
fuzz_asm_x86_16 /src/keystone/suite/fuzz/fuzz_asm_x86_16.c 2897 6854 24 228 11762 6769 fuzz_asm_x86_16.c
fuzz_asm_ppc64 /src/keystone/suite/fuzz/fuzz_asm_ppc64.c 2897 6854 24 228 11762 6769 fuzz_asm_ppc64.c
fuzz_asm_sparc64be /src/keystone/suite/fuzz/fuzz_asm_sparc64be.c 2897 6854 24 228 11762 6769 fuzz_asm_sparc64be.c
fuzz_asm_arm_armv8be /src/keystone/suite/fuzz/fuzz_asm_arm_armv8be.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_armv8be.c
fuzz_asm_ppc32be /src/keystone/suite/fuzz/fuzz_asm_ppc32be.c 2897 6854 24 228 11762 6769 fuzz_asm_ppc32be.c
fuzz_asm_mips64 /src/keystone/suite/fuzz/fuzz_asm_mips64.c 2897 6854 24 228 11762 6769 fuzz_asm_mips64.c
fuzz_asm_arm_thumbv8 /src/keystone/suite/fuzz/fuzz_asm_arm_thumbv8.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_thumbv8.c
fuzz_asm_arm_armbe /src/keystone/suite/fuzz/fuzz_asm_arm_armbe.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_armbe.c
fuzz_asm_arm_thumb /src/keystone/suite/fuzz/fuzz_asm_arm_thumb.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_thumb.c
fuzz_asm_arm_thumbv8be /src/keystone/suite/fuzz/fuzz_asm_arm_thumbv8be.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_thumbv8be.c
fuzz_asm_x86_32 /src/keystone/suite/fuzz/fuzz_asm_x86_32.c 2897 6854 24 228 11762 6769 fuzz_asm_x86_32.c
fuzz_asm_mips64be /src/keystone/suite/fuzz/fuzz_asm_mips64be.c 2897 6854 24 228 11762 6769 fuzz_asm_mips64be.c
fuzz_asm_mips /src/keystone/suite/fuzz/fuzz_asm_mips.c 2897 6854 24 228 11762 6769 fuzz_asm_mips.c
fuzz_asm_ppc64be /src/keystone/suite/fuzz/fuzz_asm_ppc64be.c 2897 6854 24 228 11762 6769 fuzz_asm_ppc64be.c
fuzz_asm_evm /src/keystone/suite/fuzz/fuzz_asm_evm.c 2897 6854 24 228 11762 6769 fuzz_asm_evm.c
fuzz_asm_riscv64 /src/keystone/suite/fuzz/fuzz_asm_riscv64.c 2897 6854 24 228 11762 6769 fuzz_asm_riscv64.c
fuzz_asm_hex /src/keystone/suite/fuzz/fuzz_asm_hex.c 2897 6854 24 228 11762 6769 fuzz_asm_hex.c
fuzz_asm_armv8_arm /src/keystone/suite/fuzz/fuzz_asm_armv8_arm.c 2897 6854 24 228 11762 6769 fuzz_asm_armv8_arm.c
fuzz_asm_arm_arm /src/keystone/suite/fuzz/fuzz_asm_arm_arm.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_arm.c
fuzz_asm_riscv32 /src/keystone/suite/fuzz/fuzz_asm_riscv32.c 2897 6854 24 228 11762 6769 fuzz_asm_riscv32.c
fuzz_asm_arm64_arm /src/keystone/suite/fuzz/fuzz_asm_arm64_arm.c 2897 6854 24 228 11762 6769 fuzz_asm_arm64_arm.c
fuzz_asm_sparc /src/keystone/suite/fuzz/fuzz_asm_sparc.c 2897 6854 24 228 11762 6769 fuzz_asm_sparc.c
fuzz_asm_sparcbe /src/keystone/suite/fuzz/fuzz_asm_sparcbe.c 2897 6854 24 228 11762 6769 fuzz_asm_sparcbe.c
fuzz_asm_systemz /src/keystone/suite/fuzz/fuzz_asm_systemz.c 2897 6854 24 228 11762 6769 fuzz_asm_systemz.c
fuzz_asm_x86_64 /src/keystone/suite/fuzz/fuzz_asm_x86_64.c 2897 6854 24 228 11762 6769 fuzz_asm_x86_64.c
fuzz_asm_arm_thumbbe /src/keystone/suite/fuzz/fuzz_asm_arm_thumbbe.c 2897 6854 24 228 11762 6769 fuzz_asm_arm_thumbbe.c

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: fuzz_asm_mipsbe

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1855 51.9%
gold [1:9] 239 6.68%
yellow [10:29] 27 0.75%
greenyellow [30:49] 13 0.36%
lawngreen 50+ 1439 40.2%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
26 766 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00766 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail

Runtime coverage analysis

Covered functions
2596
Functions that are reachable but not covered
866
Reachable functions
2897
Percentage of reachable functions covered
70.11%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_mipsbe.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_x86_16

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1721 48.1%
gold [1:9] 228 6.38%
yellow [10:29] 13 0.36%
greenyellow [30:49] 5 0.13%
lawngreen 50+ 1606 44.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
28 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail
20 3475 llvm_ks::DenseMapBase , llvm_ks::detail::DenseMapPair >, unsigned int, llvm_ks::MCLabel*, llvm_ks::DenseMapInfo , llvm_ks::detail::DenseMapPair >::getNumTombstones() const call site: 03475

Runtime coverage analysis

Covered functions
2881
Functions that are reachable but not covered
786
Reachable functions
2897
Percentage of reachable functions covered
72.87%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_x86_16.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_ppc64

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1929 53.9%
gold [1:9] 256 7.16%
yellow [10:29] 7 0.19%
greenyellow [30:49] 5 0.13%
lawngreen 50+ 1376 38.5%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
41 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
29 444 llvm_ks::Triple::isWatchOS() const call site: 00444
27 765 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00765 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail

Runtime coverage analysis

Covered functions
2406
Functions that are reachable but not covered
895
Reachable functions
2897
Percentage of reachable functions covered
69.11%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_ppc64.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_sparc64be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1936 54.1%
gold [1:9] 236 6.60%
yellow [10:29] 27 0.75%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1374 38.4%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail

Runtime coverage analysis

Covered functions
2393
Functions that are reachable but not covered
903
Reachable functions
2897
Percentage of reachable functions covered
68.83%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_sparc64be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_armv8be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1832 51.2%
gold [1:9] 241 6.74%
yellow [10:29] 4 0.11%
greenyellow [30:49] 3 0.08%
lawngreen 50+ 1493 41.7%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
3158
Functions that are reachable but not covered
822
Reachable functions
2897
Percentage of reachable functions covered
71.63%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_armv8be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_ppc32be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1925 53.8%
gold [1:9] 244 6.82%
yellow [10:29] 2 0.05%
greenyellow [30:49] 4 0.11%
lawngreen 50+ 1398 39.1%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
41 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
29 444 llvm_ks::Triple::isWatchOS() const call site: 00444
27 765 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00765 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail

Runtime coverage analysis

Covered functions
2506
Functions that are reachable but not covered
887
Reachable functions
2897
Percentage of reachable functions covered
69.38%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_ppc32be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_mips64

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1845 51.6%
gold [1:9] 245 6.85%
yellow [10:29] 2 0.05%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 1480 41.4%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
26 766 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00766 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail

Runtime coverage analysis

Covered functions
2741
Functions that are reachable but not covered
859
Reachable functions
2897
Percentage of reachable functions covered
70.35%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_mips64.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_thumbv8

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1835 51.3%
gold [1:9] 235 6.57%
yellow [10:29] 37 1.03%
greenyellow [30:49] 19 0.53%
lawngreen 50+ 1447 40.4%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
3008
Functions that are reachable but not covered
826
Reachable functions
2897
Percentage of reachable functions covered
71.49%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_thumbv8.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_armbe

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1836 51.3%
gold [1:9] 238 6.66%
yellow [10:29] 3 0.08%
greenyellow [30:49] 34 0.95%
lawngreen 50+ 1462 40.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
3100
Functions that are reachable but not covered
822
Reachable functions
2897
Percentage of reachable functions covered
71.63%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_armbe.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_thumb

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1830 51.2%
gold [1:9] 240 6.71%
yellow [10:29] 2 0.05%
greenyellow [30:49] 2 0.05%
lawngreen 50+ 1499 41.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
3207
Functions that are reachable but not covered
820
Reachable functions
2897
Percentage of reachable functions covered
71.69%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_thumb.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_thumbv8be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1855 51.9%
gold [1:9] 260 7.27%
yellow [10:29] 20 0.55%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1438 40.2%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail

Runtime coverage analysis

Covered functions
2592
Functions that are reachable but not covered
849
Reachable functions
2897
Percentage of reachable functions covered
70.69%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_thumbv8be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_x86_32

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1795 50.2%
gold [1:9] 234 6.54%
yellow [10:29] 8 0.22%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1536 42.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail
20 3475 llvm_ks::DenseMapBase , llvm_ks::detail::DenseMapPair >, unsigned int, llvm_ks::MCLabel*, llvm_ks::DenseMapInfo , llvm_ks::detail::DenseMapPair >::getNumTombstones() const call site: 03475

Runtime coverage analysis

Covered functions
2764
Functions that are reachable but not covered
802
Reachable functions
2897
Percentage of reachable functions covered
72.32%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_x86_32.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_mips64be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1871 52.3%
gold [1:9] 280 7.83%
yellow [10:29] 13 0.36%
greenyellow [30:49] 12 0.33%
lawngreen 50+ 1397 39.0%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
26 766 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00766 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail

Runtime coverage analysis

Covered functions
2349
Functions that are reachable but not covered
872
Reachable functions
2897
Percentage of reachable functions covered
69.9%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_mips64be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_mips

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1867 52.2%
gold [1:9] 242 6.77%
yellow [10:29] 17 0.47%
greenyellow [30:49] 22 0.61%
lawngreen 50+ 1425 39.8%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
26 766 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00766 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
20 1230 LLVMInitializeRISCVTargetMC call site: 01230 __assert_fail

Runtime coverage analysis

Covered functions
2492
Functions that are reachable but not covered
872
Reachable functions
2897
Percentage of reachable functions covered
69.9%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_mips.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_ppc64be

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1926 53.9%
gold [1:9] 238 6.66%
yellow [10:29] 3 0.08%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1406 39.3%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
41 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
29 444 llvm_ks::Triple::isWatchOS() const call site: 00444
27 765 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00765 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail

Runtime coverage analysis

Covered functions
2488
Functions that are reachable but not covered
891
Reachable functions
2897
Percentage of reachable functions covered
69.24%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_ppc64be.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_evm

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 3568 99.8%
gold [1:9] 4 0.11%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1 0.02%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
2355 0 EP call site: 00000 ks_open
862 2710 llvm_ks::MCFragment::MCFragment(llvm_ks::MCFragment::FragmentType, bool, unsigned char, llvm_ks::MCSection*) call site: 02710 ks_close
350 2357 llvm_ks::ilist_node ::ilist_node() call site: 02357 __assert_fail
1 2708 llvm_ks::MCDummyFragment::MCDummyFragment(llvm_ks::MCSection*) call site: 02708

Runtime coverage analysis

Covered functions
8
Functions that are reachable but not covered
2885
Reachable functions
2897
Percentage of reachable functions covered
0.41%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_evm.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_riscv64

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1865 52.1%
gold [1:9] 239 6.68%
yellow [10:29] 2 0.05%
greenyellow [30:49] 7 0.19%
lawngreen 50+ 1460 40.8%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail

Runtime coverage analysis

Covered functions
2665
Functions that are reachable but not covered
836
Reachable functions
2897
Percentage of reachable functions covered
71.14%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_riscv64.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_hex

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1912 53.5%
gold [1:9] 239 6.68%
yellow [10:29] 6 0.16%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1416 39.6%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
48 948 createX86MCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00948 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail

Runtime coverage analysis

Covered functions
2900
Functions that are reachable but not covered
871
Reachable functions
2897
Percentage of reachable functions covered
69.93%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_hex.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_armv8_arm

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1836 51.3%
gold [1:9] 226 6.32%
yellow [10:29] 10 0.27%
greenyellow [30:49] 37 1.03%
lawngreen 50+ 1464 40.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
2954
Functions that are reachable but not covered
826
Reachable functions
2897
Percentage of reachable functions covered
71.49%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_armv8_arm.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm_arm

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1828 51.1%
gold [1:9] 241 6.74%
yellow [10:29] 3 0.08%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 1500 41.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
64 1636 llvm_ks::ARM::parseArchVersion(llvm_ks::StringRef) call site: 01636 __assert_fail
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
21 1947 InitKs(int, ks_struct*, std::__1::basic_string , std::__1::allocator >) call site: 01947 printf

Runtime coverage analysis

Covered functions
3198
Functions that are reachable but not covered
820
Reachable functions
2897
Percentage of reachable functions covered
71.69%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm_arm.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_riscv32

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1865 52.1%
gold [1:9] 237 6.63%
yellow [10:29] 2 0.05%
greenyellow [30:49] 7 0.19%
lawngreen 50+ 1462 40.9%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail

Runtime coverage analysis

Covered functions
2667
Functions that are reachable but not covered
836
Reachable functions
2897
Percentage of reachable functions covered
71.14%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_riscv32.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_arm64_arm

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1907 53.3%
gold [1:9] 235 6.57%
yellow [10:29] 48 1.34%
greenyellow [30:49] 1 0.02%
lawngreen 50+ 1382 38.6%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
36 764 createPPCMCAsmInfo(llvm_ks::MCRegisterInfo const&, llvm_ks::Triple const&) call site: 00764 __assert_fail
32 1002 LLVMInitializeX86TargetMC call site: 01002 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail
20 339 llvm_ks::SmallVectorTemplateBase ::grow(unsigned long) call site: 00339 __assert_fail

Runtime coverage analysis

Covered functions
2680
Functions that are reachable but not covered
859
Reachable functions
2897
Percentage of reachable functions covered
70.35%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_arm64_arm.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_sparc

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1934 54.1%
gold [1:9] 237 6.63%
yellow [10:29] 4 0.11%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1398 39.1%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
153 2745 llvm_ks::SectionKind::getData() call site: 02745
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
25 1002 LLVMInitializeX86TargetMC call site: 01002
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail

Runtime coverage analysis

Covered functions
2533
Functions that are reachable but not covered
892
Reachable functions
2897
Percentage of reachable functions covered
69.21%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_sparc.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h 32
/src/keystone/llvm/include/llvm/MC/MCTargetOptions.h 3
/src/keystone/llvm/lib/Support/SourceMgr.cpp 2
/src/keystone/llvm/include/llvm/Support/TargetSelect.h 3
/src/keystone/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp 2
/src/keystone/llvm/lib/Support/TargetRegistry.cpp 4
/src/keystone/llvm/include/llvm/Support/TargetRegistry.h 90
/src/keystone/llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp 1
/src/keystone/llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp 1
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoDarwin.cpp 1
/src/keystone/llvm/lib/MC/MCAsmInfo.cpp 2
/src/keystone/llvm/lib/MC/MCAsmInfoELF.cpp 1
/src/keystone/llvm/include/llvm/MC/MCAsmInfoELF.h 1
/src/keystone/llvm/lib/MC/MCRegisterInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCDwarf.h 6
/src/keystone/llvm/include/llvm/ADT/StringRef.h 10
/src/keystone/llvm/include/llvm/MC/MCAsmInfo.h 9
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenInstrInfo.inc 1
/src/keystone/llvm/include/llvm/MC/MCInstrInfo.h 1
/src/keystone/llvm/include/llvm/MC/MCRegisterInfo.h 7
/src/keystone/llvm/include/llvm/ADT/DenseMap.h 180
/src/keystone/llvm/include/llvm/ADT/EpochTracker.h 3
/src/keystone/llvm/include/llvm/ADT/DenseMapInfo.h 16
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/ErrorHandling.cpp 3
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenSubtargetInfo.inc 1
/src/keystone/llvm/include/llvm/ADT/ArrayRef.h 23
/src/keystone/llvm/lib/MC/MCSubtargetInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/SubtargetFeature.h 2
/src/keystone/llvm/lib/MC/SubtargetFeature.cpp 12
/src/keystone/llvm/include/llvm/ADT/SmallVector.h 186
/src/keystone/llvm/lib/Support/StringRef.cpp 2
/src/keystone/llvm/lib/Support/SmallVector.cpp 1
/src/keystone/llvm/lib/Support/raw_ostream.cpp 16
/src/keystone/llvm/include/llvm/Support/raw_ostream.h 18
/src/keystone/llvm/include/llvm/ADT/Twine.h 21
/src/keystone/llvm/lib/Support/Twine.cpp 5
/src/keystone/llvm/include/llvm/Support/Format.h 4
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/MC/MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp 4
/src/keystone/llvm/include/llvm/MC/MCELFObjectWriter.h 1
/src/keystone/llvm/lib/MC/MCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp 4
/src/keystone/llvm/include/llvm/MC/MCAsmInfoDarwin.h 1
/src/keystone/llvm/lib/MC/MCAsmInfoCOFF.cpp 3
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Support/Triple.cpp 27
/src/keystone/llvm/lib/Support/TargetParser.cpp 9
/src/keystone/llvm/include/llvm/ADT/SmallString.h 16
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp 3
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp 5
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h 1
/src/keystone/llvm/keystone/../lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp 4
/src/keystone/llvm/keystone/../lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp 2
/src/keystone/llvm/include/llvm/MC/MCContext.h 12
/src/keystone/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp 6
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp 3
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp 5
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenRegisterInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp 9
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/MCAsmInfoCOFF.h 3
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenRegisterInfo.inc 1
/src/keystone/llvm/include/llvm/Support/MathExtras.h 7
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp 2
/src/keystone/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp 8
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp 7
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenInstrInfo.inc 1
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenRegisterInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCSubtargetInfo.h 4
/src/keystone/llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenSubtargetInfo.inc 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp 2
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCStreamer.cpp 4
/src/keystone/llvm/include/llvm/MC/MCStreamer.h 4
/src/keystone/llvm/include/llvm/MC/MCObjectStreamer.h 1
/src/keystone/llvm/include/llvm/MC/MCAssembler.h 5
/src/keystone/llvm/keystone/../lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h 1
/src/keystone/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h 1
/src/keystone/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp 2
/src/keystone/llvm/lib/MC/MCParser/MCTargetAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParserExtension.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringMap.h 73
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h 2
/src/keystone/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/ConstantPools.h 1
/src/keystone/llvm/include/llvm/ADT/MapVector.h 1
/src/keystone/llvm/keystone/../lib/Target/AArch64/AArch64GenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h 2
/src/keystone/llvm/include/llvm/Support/Allocator.h 34
/src/keystone/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp 4
/src/keystone/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp 1
/src/keystone/llvm/keystone/../lib/Target/ARM/ARMGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp 2
/src/keystone/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp 1
/src/keystone/llvm/include/llvm/MC/MCInst.h 6
/src/keystone/llvm/include/llvm/Support/SMLoc.h 1
/src/keystone/llvm/keystone/../lib/Target/Hexagon/HexagonGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp 3
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp 1
/src/keystone/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h 6
/src/keystone/llvm/keystone/../lib/Target/Mips/MipsGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/STLExtras.h 2
/src/keystone/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/PowerPC/PPCGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/Sparc/SparcGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/SystemZ/SystemZGenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/X86/X86GenAsmMatcher.inc 1
/src/keystone/llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp 2
/src/keystone/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp 2
/src/keystone/llvm/keystone/../lib/Target/RISCV/RISCVGenAsmMatcher.inc 1
/src/keystone/llvm/include/llvm/ADT/iterator_range.h 4
/src/keystone/llvm/include/llvm/MC/MCAsmBackend.h 1
/src/keystone/llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h 1
/src/keystone/llvm/keystone/EVMMapping.cpp 1
/src/keystone/llvm/lib/MC/MCContext.cpp 12
/src/keystone/llvm/include/llvm/MC/MCCodeView.h 1
/src/keystone/llvm/include/llvm/ADT/SetVector.h 3
/src/keystone/llvm/include/llvm/ADT/DenseSet.h 5
/src/keystone/llvm/lib/Support/Unix/Path.inc 4
/src/keystone/llvm/include/llvm/Support/FileSystem.h 5
/src/keystone/llvm/lib/Support/Path.cpp 9
/src/keystone/llvm/include/llvm/Support/Path.h 4
/src/keystone/llvm/include/llvm/Support/AlignOf.h 9
/src/keystone/llvm/include/llvm/MC/MCSectionMachO.h 1
/src/keystone/llvm/lib/MC/MCSection.cpp 2
/src/keystone/llvm/include/llvm/ADT/ilist.h 27
/src/keystone/llvm/lib/MC/MCFragment.cpp 5
/src/keystone/llvm/include/llvm/ADT/ilist_node.h 7
/src/keystone/llvm/include/llvm/MC/MCSection.h 3
/src/keystone/llvm/include/llvm/Support/Casting.h 88
/src/keystone/llvm/include/llvm/MC/MCFragment.h 31
/src/keystone/llvm/lib/MC/MCSectionELF.cpp 1
/src/keystone/llvm/lib/MC/MCSectionCOFF.cpp 1
/src/keystone/llvm/lib/MC/MCObjectFileInfo.cpp 5
/src/keystone/llvm/include/llvm/MC/SectionKind.h 13
/src/keystone/llvm/lib/Support/StringMap.cpp 3
/src/keystone/llvm/include/llvm/ADT/StringExtras.h 1
/src/keystone/llvm/lib/MC/MCSymbol.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSymbolCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSymbol.h 7
/src/keystone/llvm/include/llvm/ADT/PointerIntPair.h 5
/src/keystone/llvm/include/llvm/MC/MCSymbolELF.h 2
/src/keystone/llvm/include/llvm/MC/MCSymbolMachO.h 1
/src/keystone/llvm/lib/MC/MCSectionMachO.cpp 1
/src/keystone/llvm/include/llvm/MC/MCSectionCOFF.h 1
/src/keystone/llvm/include/llvm/MC/MCSectionELF.h 1
/src/keystone/llvm/lib/MC/MCSymbolELF.cpp 1
/src/keystone/llvm/lib/MC/MCELFStreamer.cpp 1
/src/keystone/llvm/include/llvm/MC/MCELFStreamer.h 1
/src/keystone/llvm/lib/MC/MCObjectStreamer.cpp 2
/src/keystone/llvm/lib/MC/MCAssembler.cpp 2
/src/keystone/llvm/include/llvm/ADT/SmallPtrSet.h 8
/src/keystone/llvm/lib/Support/SmallPtrSet.cpp 1
/src/keystone/llvm/include/llvm/MC/MCLinkerOptimizationHint.h 3
/src/keystone/llvm/include/llvm/MC/MCWinEH.h 1
/src/keystone/llvm/lib/Support/MemoryBuffer.cpp 5
/src/keystone/llvm/include/llvm/Support/MemoryBuffer.h 3
/src/keystone/llvm/include/llvm/Support/ErrorOr.h 8
/src/keystone/llvm/lib/MC/MCParser/AsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmParser.cpp 3
/src/keystone/llvm/lib/MC/MCParser/AsmLexer.cpp 3
/src/keystone/llvm/lib/MC/MCParser/MCAsmLexer.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/MCAsmLexer.h 3
/src/keystone/llvm/include/llvm/ADT/APInt.h 8
/src/keystone/llvm/lib/Support/APInt.cpp 2
/src/keystone/llvm/include/llvm/MC/MCParser/AsmCond.h 1
/src/keystone/llvm/lib/MC/MCParser/DarwinAsmParser.cpp 2

Fuzzer: fuzz_asm_sparcbe

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1980 55.4%
gold [1:9] 262 7.33%
yellow [10:29] 23 0.64%
greenyellow [30:49] 6 0.16%
lawngreen 50+ 1302 36.4%
All colors 3573 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
156 2742 llvm_ks::SectionKind::getText() call site: 02742
141 2929 llvm_ks::SpecificBumpPtrAllocator ::Allocate(unsigned long) call site: 02929 __assert_fail
87 1613 parseArch(llvm_ks::StringRef) call site: 01613 memcmp
62 1385 llvm_ks::RegisterMCAsmParser<(anonymous namespace)::MipsAsmParser>::Allocator(llvm_ks::MCSubtargetInfo const&, llvm_ks::MCAsmParser&, llvm_ks::MCInstrInfo const&, llvm_ks::MCTargetOptions const&) call site: 01385 memcmp
52 1806 llvm_ks::TargetRegistry::iterator::operator*() const call site: 01806 memcmp
51 945 LLVMInitializeX86TargetMC call site: 00945 __assert_fail
40 1176 LLVMInitializeRISCVTargetMC call site: 01176 memcmp
38 435 LLVMInitializeARMTargetMC call site: 00435
38 762 LLVMInitializePowerPCTargetMC call site: 00762 __assert_fail
36 1002 LLVMInitializeX86TargetMC call site: 01002 __assert_fail
25 1736 llvm_ks::SmallVectorTemplateCommon ::capacity() const call site: 01736 __assert_fail
21 1868 void llvm_ks::SmallVectorImpl ::append (char const*, char const*) call site: 01868 __assert_fail

Runtime coverage analysis

Covered functions
2225
Functions that are reachable but not covered
949
Reachable functions
2897
Percentage of reachable functions covered
67.24%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
/src/keystone/suite/fuzz/fuzz_asm_sparcbe.c 1
/src/keystone/llvm/keystone/ks.cpp 8
/src/keystone/llvm/keystone/ks_priv.h 2
/src/keystone/llvm/include/llvm/Support/SourceMgr.h 12
/src/keystone/llvm/lib/MC/MCTargetOptions.cpp 2
/src/keystone/llvm/include/llvm/MC/MCObjectFileInfo.h 3
/src/keystone/llvm/include/llvm/ADT/Triple.h