HelpText<"Execution model (WebAssembly only)">;
def mcode_object_version_EQ : Joined<["-"], "mcode-object-version=">, Group<m_Group>,
- HelpText<"Specify code object ABI version. Defaults to 3. (AMDGPU only)">,
+ HelpText<"Specify code object ABI version. Defaults to 4. (AMDGPU only)">,
MetaVarName<"<version>">, Values<"2,3,4">;
def mcode_object_v3_legacy : Flag<["-"], "mcode-object-v3">, Group<m_Group>,
const Driver &D, const llvm::opt::ArgList &Args, bool Diagnose) {
const unsigned MinCodeObjVer = 2;
const unsigned MaxCodeObjVer = 4;
- unsigned CodeObjVer = 3;
+ unsigned CodeObjVer = 4;
// Emit warnings for legacy options even if they are overridden.
if (Diagnose) {
* ``ELFABIVERSION_AMDGPU_HSA_V3`` is used to specify the version of AMD HSA
runtime ABI for code object V3. Specify using the Clang option
- ``-mcode-object-version=3``. This is the default code object
- version if not specified.
+ ``-mcode-object-version=3``.
* ``ELFABIVERSION_AMDGPU_HSA_V4`` is used to specify the version of AMD HSA
runtime ABI for code object V4. Specify using the Clang option
- ``-mcode-object-version=4``.
+ ``-mcode-object-version=4``. This is the default code object
+ version if not specified.
* ``ELFABIVERSION_AMDGPU_PAL`` is used to specify the version of AMD PAL
runtime ABI.
Code Object V3 Metadata
+++++++++++++++++++++++
+.. warning::
+ Code object V3 is not the default code object version emitted by this version
+ of LLVM.
+
Code object V3 to V4 metadata is specified by the ``NT_AMDGPU_METADATA`` note
record (see :ref:`amdgpu-note-records-v3-v4`).
Code Object V4 Metadata
+++++++++++++++++++++++
-.. warning::
- Code object V4 is not the default code object version emitted by this version
- of LLVM.
-
Code object V4 metadata is the same as
:ref:`amdgpu-amdhsa-code-object-metadata-v3` with the changes and additions
defined in table :ref:`amdgpu-amdhsa-code-object-metadata-map-table-v3`.