mohitmishra786/low-level-dev-skills/compiler-optimizations-deep

Claude Code and agent skill by mohitmishra786/low-level-dev-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Deep compiler optimizations skill for RA, ISel, and PGO. Use when explaining register allocation, instruction selection, LICM, vectorization limits, or profile-guided optimization beyond -O3. Activates on queries about register allocation, instruction selection, LICM, auto-vectorization failure, PGO, or BOLT.

Install

npx vskill@latest install mohitmishra786/low-level-dev-skills/compiler-optimizations-deep

SKILL.md

Compiler Optimizations (Deep)

Purpose

Explain optimization phases beyond flags: mid-level IR opts, register allocation, instruction selection/scheduling, vectorization boundaries, PGO, and post-link BOLT — bridging skills/compilers/pgo and LLVM/GCC internals.

When to Use

  • -O3 did not vectorize a hot loop
  • Teaching why register pressure causes spills
  • Planning PGO or BOLT deployment
  • Understanding pass interaction (e.g., LICM before vectorize)

Workflow

1. Compiler pipeline map
Frontend → LLVM IR / GCC GIMPLE
├── Mid-level: DCE, GVN, LICM, inlining
├── Loop opts: unroll, vectorize
├── Codegen prep: legalize types
├── Instruction selection (DAG → machine ops)
├── Register allocation (greedy, linear scan)
└── Peephole / scheduling
2. Vectorization failure triage
bash
clang -O3 -Rpass=loop-vectorize -Rpass-missed=loop-vectorize foo.c
Miss reasonTypical fix
Unknown trip countpeel loop; assert count
Dependencereorder / separate accumulators
Function call in loopinline or outline
Alignment unknown__builtin_assume_aligned
3. Register allocation intuition

When live ranges exceed physical registers, the allocator spills to stack slots — costly loads/stores. Reducing live ranges (splitting variables, rematerialization) helps.

GCC/LLVM both use graph coloring variants (LLVM "greedy regalloc").

4. PGO workflow (Clang)
bash
clang -fprofile-instr-generate -O2 -o app foo.c
./app # training workload
llvm-profdata merge default.profraw -o default.profdata
clang -fprofile-instr-use=default.profdata -O2 -o app_pgo foo.c

Improves branch layout, inlining, and vectorization thresholds.

See skills/compilers/pgo for GCC and BOLT.

5. BOLT (post-link)
bash
llvm-bolt -instrument app -o app.inst
./app.inst
llvm-bolt -data=perf.fdata -reorder-blocks=+ -o app.bolt app

Optimizes layout after linker — needs relocations (-Wl,--emit-relocs).

6. LICM example

Loop-invariant code motion hoists x * scale out of inner loop when legal — reduces work per iteration.

7. Agent usage
/compiler-optimizations-deep Why did LLVM fail to vectorize this reduction loop?

Common Problems

SymptomCauseFix
PGO no gainUnrepresentative trainingMatch production input
BOLT crashStripped binaryKeep symbols + relocs
Spills in asmRegister pressureSimplify live ranges
-O3 slowerCode bloat / cacheTry -O2 or PGO
Different GCC/ClangPass ordering differsCompare IR + asm

Related Skills

  • skills/compilers/pgo — PGO and BOLT detail
  • skills/compiler-internals/llvm-ir-and-passes — IR-level opts
  • skills/compiler-internals/code-generation-and-backends — ISel and backends
  • skills/computer-architecture/cpu-pipelines-and-hazards — scheduling context
  • skills/low-level-programming/simd-intrinsics — manual vectorization

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
237
Repository forks
28
7-day trend score
27

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 5 Oct 2026, 28 days ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mohitmishra786/low-level-dev-skills/compiler-optimizations-deep/badge)](https://verified-skill.com/skills/mohitmishra786/low-level-dev-skills/compiler-optimizations-deep)

Something wrong with this skill or its page? Tell us.