compiler: unify resolved LLVM target configuration - #11
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for resolved LLVM target specifications (including target triple, CPU, features, and ABI) across the build, cross-compilation, and SSA packages. It refactors target resolution to use a new TargetSpec struct, allowing fine-grained LLVM configurations while preserving legacy cache identities for default GOOS/GOARCH builds. Additionally, it adds layout compatibility checks to ensure that custom target machines match the Go-visible LLVM object layout, and includes comprehensive tests validating these target configurations and fallbacks. No review comments were provided, so there is no feedback to address.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Summary
Dependency
This branch uses the ABIName binding merged in cpunion/llvm#2 at b20c3fb9f902. The temporary module replacement can be removed after that binding is available from the upstream LLVM module.
Validation
Focused CI note
During coroutine-slice integration this branch intentionally runs the dedicated Coroutine workflow only. SSA keeps all vet analyzers except its pre-existing copylocks findings; the full upstream workflow matrix will be restored before final integration.