Skip to content

global.rodata.def

← global dialect

Read-only executable data payload. This defines a named artifact symbol containing uninterpreted bytes, optionally with a stronger power-of-two byte alignment requirement. Bank conflicts form a reciprocal relation between definitions that must occupy disjoint target-defined storage banks when retained by one resident function. It is used for compiler-owned tables and metadata such as sanitizer site records; user-visible value globals remain global.constant/global.variable.

Operation contract

Property Value
Semantic phase —
Traits SymbolDefine

Symbol contract

Property Value
Kind rodata
Defining field symbol
Interfaces rodata, record
Flags —

Signature

Kind Name Type Cardinality Description
Attribute symbol symbol required —
Attribute contents bytes required —
Attribute alignment i64 optional —
Attribute bank_conflicts symbol (rodata) optional Read-only data definitions that must occupy disjoint target-defined storage banks in one resident function. Every relation is reciprocal.

Examples

global.rodata.def @loom_sanitizer_sites = align(8) bytes("4c53495401000000")
global.rodata.def @empty = bytes("")