LLVM 22.x tile for building compilers, language runtimes, and out-of-tree tooling
88
83%
Does it follow best practices?
Impact
96%
1.23xAverage score across 5 eval scenarios
Passed
No known issues
add-npm-pass
PassInfoMixin base class
100%
100%
run() return type
100%
100%
Plugin entry point name
100%
100%
Pipeline registration callback
100%
100%
CMake llvm_map_components_to_libnames
0%
0%
CMake find_package LLVM 22
50%
100%
MODULE or pass plugin CMake target
100%
100%
C++17 standard
0%
60%
No using namespace llvm in header
100%
100%
Lit test smoke RUN line
100%
100%
Lit test plugin load syntax
100%
100%
CHECK-LABEL in lit test
0%
100%
No legacy pass manager APIs
100%
100%
jit-setup
ORC v2 API used
100%
100%
LLJITBuilder creation
100%
100%
InitializeNativeTarget before JIT
100%
100%
InitializeNativeTargetAsmPrinter
100%
100%
ThreadSafeModule wrapping
100%
100%
DynamicLibrarySearchGenerator
100%
100%
Error handling with ExitOnError or Expected
100%
100%
addIRModule usage
100%
100%
Symbol lookup
100%
100%
InitLLVM in main
0%
100%
No shared LLVMContext across modules
100%
100%
CMake llvm_map_components_to_libnames
100%
100%
lit-filecheck
CHECK-LABEL for every function
100%
100%
No bare %0 / %1 patterns
100%
100%
Smoke test RUN line
0%
100%
Multiple RUN lines
100%
100%
CHECK-NOT for negative test
100%
100%
Named value captures
100%
100%
FileCheck piped from opt
100%
100%
Four transformations tested
100%
100%
CHECK-NEXT or CHECK-SAME usage
0%
100%
Pass name in RUN lines
100%
100%
Correct -S flag
100%
100%
add-debug-info
DIBuilder finalize called
100%
100%
Debug Info Version module flag
0%
100%
Dwarf Version module flag
0%
100%
No location on alloca instructions
100%
100%
AlwaysPreserve=true for parameters
100%
100%
createCompileUnit called
100%
100%
setSubprogram on Function
100%
100%
insertDeclare usage
100%
100%
DILocation per instruction
100%
100%
createParameterVariable vs createAutoVariable
100%
100%
createSubroutineType for function type
100%
100%
createBasicType for primitive types
100%
100%
version-sync
Legacy PM removed from StatsPass
0%
83%
No legacy PM in main.cpp
0%
100%
llvm::Optional replaced
100%
100%
Intrinsic::getDeclaration replaced
100%
100%
Opaque pointer API fixed
100%
100%
Triple.h include path updated
100%
100%
Host.h include path updated
100%
100%
CMake LLVM version bumped
100%
100%
CMake uses llvm_map_components_to_libnames
0%
100%
C++17 set in CMake
0%
100%
No using namespace llvm in header
0%
0%
MIGRATION.md lists changes
100%
100%