CtrlK
BlogDocsLog inGet started
Tessl Logo

himank-test/tessl-llvm

LLVM 22.x tile for building compilers, language runtimes, and out-of-tree tooling

88

1.23x
Quality

83%

Does it follow best practices?

Impact

96%

1.23x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-1/

{
  "context": "Tests whether the agent correctly structures an out-of-tree LLVM 22 NPM pass plugin, including the class hierarchy, CMake configuration, plugin registration entry point, and lit test conventions.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "PassInfoMixin base class",
      "description": "The pass class inherits from PassInfoMixin<ClassName> (not FunctionPass, ModulePass, or any legacy base class)",
      "max_score": 12
    },
    {
      "name": "run() return type",
      "description": "The run() method returns PreservedAnalyses (not bool or void)",
      "max_score": 8
    },
    {
      "name": "Plugin entry point name",
      "description": "Defines a function named llvmGetPassPluginInfo with extern \"C\" linkage (and optionally LLVM_ATTRIBUTE_WEAK)",
      "max_score": 10
    },
    {
      "name": "Pipeline registration callback",
      "description": "Uses PB.registerPipelineParsingCallback (or equivalent PassBuilder registration) inside the plugin info lambda",
      "max_score": 8
    },
    {
      "name": "CMake llvm_map_components_to_libnames",
      "description": "CMakeLists.txt uses llvm_map_components_to_libnames() to resolve LLVM library names (not hardcoded -lLLVMCore or similar)",
      "max_score": 8
    },
    {
      "name": "CMake find_package LLVM 22",
      "description": "CMakeLists.txt uses find_package(LLVM 22 REQUIRED CONFIG) to locate LLVM",
      "max_score": 6
    },
    {
      "name": "MODULE or pass plugin CMake target",
      "description": "CMakeLists.txt uses add_llvm_pass_plugin() OR add_library(...MODULE...) with POSITION_INDEPENDENT_CODE ON (not add_executable or add_llvm_component_library)",
      "max_score": 8
    },
    {
      "name": "C++17 standard",
      "description": "CMakeLists.txt sets CMAKE_CXX_STANDARD to 17 (or higher)",
      "max_score": 5
    },
    {
      "name": "No using namespace llvm in header",
      "description": "The .h header file does NOT contain 'using namespace llvm' at file scope",
      "max_score": 5
    },
    {
      "name": "Lit test smoke RUN line",
      "description": "The .ll lit test file contains a RUN line that invokes opt with -disable-output (smoke test for crash-free execution)",
      "max_score": 8
    },
    {
      "name": "Lit test plugin load syntax",
      "description": "The .ll lit test RUN line uses --load-pass-plugin=%llvmshlibdir/... or an equivalent substitution to load the plugin",
      "max_score": 8
    },
    {
      "name": "CHECK-LABEL in lit test",
      "description": "The .ll lit test uses CHECK-LABEL: (not bare CHECK:) to anchor patterns to specific function definitions",
      "max_score": 8
    },
    {
      "name": "No legacy pass manager APIs",
      "description": "Implementation does NOT use legacy::PassManager, FunctionPass, ModulePass, AU.setPreservesAll(), or getAnalysis<>() anywhere",
      "max_score": 6
    }
  ]
}

AUDIT.md

tile.json