llvm-learning
LLVM Learning Skill
This skill provides curated learning paths and resources for mastering LLVM, Clang, and compiler development.
Learning Paths
Beginner Path
- Start with Kaleidoscope: Official LLVM tutorial building a simple language
- Understand LLVM IR: Learn the intermediate representation
- Write Simple Passes: Transform IR with custom passes
- Explore Clang: Understand C/C++ frontend
Intermediate Path
- Deep Dive into Optimization: Study built-in optimization passes
- Backend Development: Target code generation
- Analysis Frameworks: Pointer analysis, dataflow
- Clang Tooling: LibTooling, AST matchers
More from gmh5225/awesome-llvm-security
llvm-obfuscation
Expertise in LLVM-based code obfuscation techniques including OLLVM, control flow flattening, string encryption, virtualization, and anti-analysis methods. Use this skill when working on code protection, anti-reverse engineering, or implementing custom obfuscation passes.
43compiler-development
Expertise in compiler development using LLVM infrastructure including frontend design, IR generation, optimization passes, and code generation. Use this skill when building custom programming languages, implementing DSL compilers, or working on compiler internals.
40llvm-optimization
Expertise in LLVM optimization passes, performance tuning, and code transformation techniques. Use this skill when implementing custom optimizations, analyzing pass behavior, improving generated code quality, or understanding LLVM's optimization pipeline.
33binary-lifting
Expertise in binary lifting techniques - converting machine code to LLVM IR for analysis, decompilation, and recompilation. Use this skill when working on reverse engineering, binary analysis, deobfuscation, or converting binaries to higher-level representations.
31mlir-development
Expertise in MLIR (Multi-Level Intermediate Representation) and CIR (Clang IR) development for domain-specific compilation and high-level optimizations. Use this skill when building ML compilers, domain-specific languages, or working with multi-level compilation pipelines.
29static-analysis
Expertise in LLVM-based static analysis including dataflow analysis, pointer analysis, taint tracking, and program verification. Use this skill when implementing security scanners, bug finders, code quality tools, or performing program analysis research.
28