• # back end, qui remonte une bien vieille issue de wasm.

    Posté par  (site web personnel) . Évalué à 3 (+2/-0).

    ici : https://gcc.gnu.org/wiki/WebAssemblyBackend

    Structured control flow
    GCC expects a target to have control flow instructions that transfer control to labels or addresses in memory; WebAssembly does not provide those. WebAssembly function is a tree of nested control flow constructs — loops, conditionals, blocks, exception handlers.
    The current workaround to this issue is to emit a function as a loop that contains a switch statement, and within that statement emit RTL basic blocks, and emit labels as switch arms. Jumps are therefore implemented as a write to the control flow variable and then a loop repetition.
    This is suboptimal, but it's the only option available until there is way to convert RTL into a control flow construct tree representation that reflects WebAssembly.
    https://github.com/WebAssembly/design/issues/796 is the proposal of adding goto and labels to WebAssembly.

    Bon après rendre wasm plus utilisable, c'est dans les main de googe et ca a peu de chances de bouges pour gcc.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.