[LangRef] update according to unwinding support in inline asm · llvm/llvm-project@22f635b (original) (raw)

`@@ -4303,9 +4303,20 @@ the only supported dialects. An example is:

`

4303

4303

``

4304

4304

` call void asm inteldialect "eieio", ""()

`

4305

4305

``

4306

``


If multiple keywords appear the '``sideeffect``' keyword must come

4307

``


first, the '``alignstack``' keyword second and the '``inteldialect``'

4308

``

`-

keyword last.

`

``

4306

`+

In the case that the inline asm might unwind the stack,

`

``

4307


the '``unwind``' keyword must be used, so that the compiler emits

``

4308

`+

unwinding information:

`

``

4309

+

``

4310

`+

.. code-block:: llvm

`

``

4311

+

``

4312

`+

call void asm unwind "call func", ""()

`

``

4313

+

``

4314

`+

If the inline asm unwinds the stack and isn't marked with

`

``

4315


the '``unwind``' keyword, the behavior is undefined.

``

4316

+

``

4317


If multiple keywords appear, the '``sideeffect``' keyword must come

``

4318


first, the '``alignstack``' keyword second, the '``inteldialect``' keyword

``

4319


third and the '``unwind``' keyword last.

4309

4320

``

4310

4321

`Inline Asm Constraint String

`

4311

4322

`^^^^^^^^^^^^^^^^^^^^^^^^^^^^

`