<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in tag-section-decoding.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>3ec1760d - [WebAssembly] Remove WasmTagType</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll#3ec1760d</link>
        <description>[WebAssembly] Remove WasmTagTypeThis removes `WasmTagType`. `WasmTagType` contained an attribute and asignature index:```struct WasmTagType {  uint8_t Attribute;  uint32_t SigIndex;};```Currently the attribute field is not used and reserved for future use,and always 0. And that this class contains `SigIndex` as its property isa little weird in the place, because the tag type&apos;s signature index isnot an inherent property of a tag but rather a reference to anothersection that changes after linking. This makes tag handling in thelinker also weird that tag-related methods are taking both `WasmTagType`and `WasmSignature` even though `WasmTagType` contains a signatureindex. This is because the signature index changes in linking so itdoesn&apos;t have any info at this point. This instead moves `SigIndex` to`struct WasmTag` itself, as we did for `struct WasmFunction` in D111104.In this CL, in lib/MC and lib/Object, this now treats tag types in thesame way as function types. Also in YAML, this removes `struct Tag`,because now it only contains the tag index. Also tags set `SigIndex` in`WasmImport` union, as functions do.I think this makes things simpler and makes tag handling more in linewith function handling. These two shares similar properties in that bothof them have signatures, but they are kind of nominal so having the samesignature doesn&apos;t mean they are the same element.Also a drive-by fix: the reserved &apos;attirubute&apos; part&apos;s encoding changedfrom uleb32 to uint8 a while ago. This was fixed in lib/MC andlib/Object but not in YAML. This doesn&apos;t change object files because thefield&apos;s value is always 0 and its encoding is the same for the bothencoding.This is effectively NFC; I didn&apos;t mark it as such just because itchanged YAML test results.Reviewed By: sbc100, tlivelyDifferential Revision: https://reviews.llvm.org/D111086

            List of files:
            /llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll</description>
        <pubDate>Sat, 02 Oct 2021 02:07:41 +0000</pubDate>
        <dc:creator>Heejin Ahn &lt;aheejin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>77b921b8 - [WebAssembly] Tidy up EH/SjLj options</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll#77b921b8</link>
        <description>[WebAssembly] Tidy up EH/SjLj optionsThis CL is small, but the description can be a little long because I&apos;mtrying to sum up the status quo for Emscripten/Wasm EH/SjLj options.First, this CL adds an option for Wasm SjLj (`-wasm-enable-sjlj`), whichhandles SjLj using Wasm EH. The implementation for this will be added asa followup CL, but this adds the option first to do error checking.This also adds an option for Wasm EH (`-wasm-enable-eh`), which has beenalready implemented. Before we used `-exception-model=wasm` as the samemeaning as enabling Wasm EH, but after we add Wasm SjLj, it will bepossible to use Wasm EH instructions for Wasm SjLj while not enablingEH, so going forward, to use Wasm EH, `opt` and `llc` will need thisoption. This only affects `opt` and `llc` command lines and does notaffect Emscripten user interface.Now we have two modes of EH (Emscripten/Wasm) and also two modes of SjLj(also Emscripten/Wasm). The options corresponding to each of are:- Emscripten EH: `-enable-emscripten-cxx-exceptions`- Emscripten SjLj: `-enable-emscripten-sjlj`- Wasm EH: `-wasm-enable-eh -exception-model=wasm`           `-mattr=+exception-handling`- Wasm SjLj: `-wasm-enable-sjlj -exception-model=wasm`             `-mattr=+exception-handling`The reason Wasm EH/SjLj&apos;s options are a little complicated are`-exception-model` and `-mattr` are common LLVM options ane not underour control. (`-mattr` can be omitted if it is embedded within thebitcode file.)And we have the following rules of the option composition:- Emscripten EH and Wasm EH cannot be turned on at the same itme- Emscripten SjLj and Wasm SjLj cannot be turned on at the same time- Wasm SjLj should be used with Wasm EHWhich means we now allow these combinations:- Emscripten EH + Emscripten SjLj: the current default in `emcc`- Wasm EH + Emscripten SjLj:  This is allowed, but only as an interim step in which we are testing  Wasm EH but not yet have a working implementation of Wasm SjLj. This  will error out (D107687) in compile time if `setjmp` is called in a  function in which Wasm exception is used.- Wasm EH + Wasm SjLj:  This will be the default mode later when using Wasm EH. Currently Wasm  SjLj implementation doesn&apos;t exist, so it doesn&apos;t work.- Emscripten EH + Wasm SjLj will not work.This CL moves these error checking routines to`WebAssemblyPassConfig::addIRPasses`. Not sure if this is an ideal placeto do this, but I couldn&apos;t find elsewhere. Currently some checking isdone within LowerEmscriptenEHSjLj, but these checks only run ifLowerEmscriptenEHSjLj runs so it may not run when Wasm EH is used. Thismoves that to `addIRPasses` and adds some more checks.Currently LowerEmscriptenEHSjLj pass is responsible for Emscripten EHand Emscripten SjLj. Wasm EH transformations are done in multipleplaces, including WasmEHPrepare, LateEHPrepare, and CFGStackify. But inthe followup CL, LowerEmscriptenEHSjLj pass will be also responsible fora part of Wasm SjLj transformation, because WasmSjLj will also be usingseveral Emscripten library functions, and we will be sharing more thanhalf of the transformation to do that between Emscripten SjLj and WasmSjLj.Currently we have `-enable-emscripten-cxx-exceptions` and`-enable-emscripten-sjlj` but these only work for `llc`, because for`llc` we feed these options to the pass but when we run the pass using`opt` the pass will be created with no options and the default optionswill be used, which turns both Emscripten EH and Emscripten SjLj on.Now we have one more SjLj option to care for, LowerEmscriptenEHSjLj passneeds a finer way to control these options. This CL removes thosedefault parameters and make LowerEmscriptenEHSjLj pass read directlyfrom command line options specified. So if we only run`opt -wasm-lower-em-ehsjlj`, currently both Emscripten EH and EmscriptenSjLj will run, but with this CL, none will run unless we additionallypass `-enable-emscripten-cxx-exceptions` or `-enable-emscripten-sjlj`,or both. This does not affect users; this only affects our `opt` testsbecause `emcc` will not call either `opt` or `llc`. As a result of this,our existing Emscripten EH/SjLj tests gained one or both of thoseoptions in their `RUN` lines.Reviewed By: dschuffDifferential Revision: https://reviews.llvm.org/D107685

            List of files:
            /llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll</description>
        <pubDate>Sat, 07 Aug 2021 02:35:18 +0000</pubDate>
        <dc:creator>Heejin Ahn &lt;aheejin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>1d891d44 - [WebAssembly] Rename event to tag</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll#1d891d44</link>
        <description>[WebAssembly] Rename event to tagWe recently decided to change &apos;event&apos; to &apos;tag&apos;, and &apos;event section&apos; to&apos;tag section&apos;, out of the rationale that the section contains ageneralized tag that references a type, which may be used for somethingother than exceptions, and the name &apos;event&apos; can be confusing in the webcontext.See- https://github.com/WebAssembly/exception-handling/issues/159#issuecomment-857910130- https://github.com/WebAssembly/exception-handling/pull/161Reviewed By: tlivelyDifferential Revision: https://reviews.llvm.org/D104423

            List of files:
            /llvm-project-15.0.7/llvm/test/MC/WebAssembly/tag-section-decoding.ll</description>
        <pubDate>Tue, 15 Jun 2021 08:49:43 +0000</pubDate>
        <dc:creator>Heejin Ahn &lt;aheejin@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
