Skip to content

cmd/llvmplugin: use standard annotations for nil checks - #36

Open
zhouguangyuan0718 wants to merge 1 commit into
go1.27.masterfrom
codex/llvm-nilcheck-annotation
Open

cmd/llvmplugin: use standard annotations for nil checks#36
zhouguangyuan0718 wants to merge 1 commit into
go1.27.masterfrom
codex/llvm-nilcheck-annotation

Conversation

@zhouguangyuan0718

Copy link
Copy Markdown

Summary

  • encode frontend nil checks with standard LLVM annotation metadata
  • recognize that annotation in the statepoint plugin after optimization
  • remove the earlier custom nilcheck marker contract
  • add O2 and pointer-root regression coverage

Dependency

Requires goallc/llvm-project#20 so SROA preserves load annotations while rewriting aggregates. It is otherwise independent of write-barrier lowering in Go PR #32.

Validation

  • focused compiler IR check for annotation metadata on the volatile nilcheck load
  • GoALLCStatepoints AllocaPointerRoots
  • GoALLCStatepoints AllocaNilCheckO2 with LLVM cmd/internal/testdir: cover LLVM amd64 argument maps #20
  • integrated 50/50 LLVM codegen matrix
  • gofmt and git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant