1. Mar 21, 2024
    • paperchalice's avatar
      [NewPM][AArch64] Add AArch64PassRegistry.def (#85215) · 29bf32ef
      paperchalice authored
      PR #83567 ports `SelectionDAGISel` to the new pass manager, then each
      backend should provide `<Target>DagToDagISel()` in new pass manager
      style. Then each target should provide `<Target>PassRegistry.def` to
      register backend passes in `registerPassBuilderCallbacks` to reduce
      duplicate code.
      This PR adds `AArch64PassRegistry.def` to AArch64 backend and
      boilerplate code in `registerPassBuilderCallbacks`.
      29bf32ef
    • Thorsten Schütt's avatar
    • Freddy Ye's avatar
      Move pre-commit test for #85737 (#86062) · 07a5e31c
      Freddy Ye authored
      07a5e31c
    • Vitaly Buka's avatar
      [Analysis] Use implicit-check-not in test · 5c954840
      Vitaly Buka authored
      5c954840
    • Thurston Dang's avatar
      Revert "[sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t" · 0e3fbfd1
      Thurston Dang authored
      This reverts commit 9d79589e7c8b728a592a4b6b3dee53ac471d7946
      because it failed to suppress the warning.
      0e3fbfd1
    • Michael Liao's avatar
      [MLIR][XeGPU] Fix shared build. NFC · 0d082823
      Michael Liao authored
      0d082823
    • paperchalice's avatar
      [AArch64] Run LoopSimplifyPass in byte-compare-index.ll (#86053) · 44a81af5
      paperchalice authored
      Make this test case work on both new and legacy pass manager. See also
      #85215
      44a81af5
    • Freddy Ye's avatar
      Precommit test for #85737 (#86056) · 35a66f96
      Freddy Ye authored
      Copied from llvm/test/CodeGen/X86/domain-reassignment.mir
      35a66f96
    • hstk30-hw's avatar
      [X86_64] fix empty structure vaarg in c++ (#77907) · 631248dc
      hstk30-hw authored
      
      
      SizeInBytes of empty structure is 0 in C, while 1 in C++. And empty
      structure argument of the function is ignored in X86_64 backend.As a
      result, the value of variable arguments in C++ is incorrect. fix #77036
      
      Co-authored-by: default avatarLongsheng Mou <moulongsheng@huawei.com>
      631248dc
    • Thurston Dang's avatar
      [sanitizer_common] Suppress warning of cast from SignalHandlerType to sa_sigaction_t (#86046) · 71defe40
      Thurston Dang authored
      Some buildbots (e.g.,
      https://lab.llvm.org/buildbot/#/builders/18/builds/16061/steps/10/logs/stdio)
      have recently started complaining about
      ```
      cast from 'SignalHandlerType' (aka 'void (*)(int, void *, void *)') to 'sa_sigaction_t' (aka 'void (*)(int, siginfo_t *, void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
        219 |   sigact.sa_sigaction = (sa_sigaction_t)handler;
        ```
      This patch does an intermediate cast to `'(void (*) (void))'` to suppress the warning.
      
      N.B. SignalHandlerType has `'void*'` instead of `'siginfo_t*'` because it is typedef'ed in sanitizer_common/sanitizer_common.h, which does not have access to the header (signal.h) that defines siginfo_t; we therefore cannot fix SignalHandlerType.
      71defe40
    • Alexander Yermolovich's avatar
      [BOLT][DWARF] Fix Test (#86042) · 3cd98891
      Alexander Yermolovich authored
      Test was not actually checking bolt binary, and had extra POSTCHECK-NEXT
      lines.
      3cd98891
    • Joseph Huber's avatar
      [libc] Add an option to always build GPU loader utilities (#86040) · 89371744
      Joseph Huber authored
      Summary:
      Right now it's difficult to build these utilities standalone becayse
      they're keyed off of the other GPU handling. if someone wants to *just*
      build these utilities it's not possible without setting up the runtimes
      build. Since we can't just build these by default add an option to
      enable it.
      
      We can't just use the handling like LIBC_HDRGEN does because this is
      only for the GPU build, which isn't fully set up until way later. So
      this is probably the easiest way to just allow people to build these
      tools even without a GPU build setup.
      89371744
    • Kazu Hirata's avatar
      [BOLT] Fix an unused variable warning · aa7e4ba3
      Kazu Hirata authored
      This patch fixes:
      
        bolt/lib/Profile/BoltAddressTranslation.cpp:26:12: error: unused
        variable 'HotFuncAddress' [-Werror,-Wunused-variable]
      aa7e4ba3
    • Vitaly Buka's avatar
      af90e197
    • Jie Fu's avatar
      [mlir] Fix -Wunused-variable in XeGPUOps.cpp (NFC) · 258091e7
      Jie Fu authored
      llvm-project/mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:47:8:
      error: unused variable 'ty' [-Werror,-Wunused-variable]
        auto ty = source.getType();
             ^
      1 error generated.
      258091e7
    • Caroline Tice's avatar
      [LLVM][DebugInfo] Add accessor for NameIndex header. · 5a6c6913
      Caroline Tice authored
      This is needed for pending LLD work to create a single unified .debug_names
      index (rather than just appending all the indices from each .o file).
      5a6c6913
    • Amir Ayupov's avatar
      [BOLT] Write and parse BF/BB hashes in BAT · ad00e7e5
      Amir Ayupov authored
      This increases BAT section size to:
      - large binary: 34832976 bytes (0.90x original),
      - medium binary: 3586800 bytes (0.60x original),
      - small binary: 816 bytes (0.57x original).
      
      Test Plan: Updated bolt/test/X86/bolt-address-translation.test
      
      Reviewers: rafaelauler, dcci, ayermolo, maksfb
      
      Reviewed By: rafaelauler
      
      Pull Request: https://github.com/llvm/llvm-project/pull/76907
      ad00e7e5
    • Amir Ayupov's avatar
      [BOLT][CMake] Build rt library despite unreadable map_files (#77876) · 1918d4bc
      Amir Ayupov authored
      Emit a warning and print a suggested workaround.
      
      Fixes https://github.com/llvm/llvm-project/issues/77822.
      1918d4bc
    • Joseph Huber's avatar
      [Libomptarget] Consolidate CPU offloading into 'host' directory (#86014) · a7d5f73a
      Joseph Huber authored
      Summary:
      All of these CPU targets use the same underlying implementation. We
      should consolidate them into a single target to make it easier to update
      this to a static library based approach. I have decided to call this the
      'host' target so it can be given a single name. We still only build
      these if the system processor matches and we are on Linux.
      a7d5f73a
    • Chao Chen's avatar
      [MLIR][XeGPU] Adding XeGPU 2d block operators (#85804) · 61b24c61
      Chao Chen authored
      This PR adds XeGPU 2D block operators. It contains:
      1. TensorDescType and TensorDescAttr definitions
      2. MemoryScopeAttr and CacheHintAttr definitions which are used by
      TensorDescAttr.
      3. CreateNdDescOp, PrefetchNdOp, LoadNdOp, and StoreNdOp definitions,
      and their corresponding testcases for illustration.
      
      It cherry-picks daebe5c4
      
       with asan fix.
      
      ---------
      
      Co-authored-by: default avatarMehdi Amini <joker.eph@gmail.com>
      61b24c61
    • Amir Ayupov's avatar
      [BOLT][NFC] Simplify YAMLProfileWriter::convert · de0abc09
      Amir Ayupov authored
      Use `getAnnotationWithDefault` instead of testing if the annotation is
      set. If the default value is used, and `CSI.Count` is set to zero, the
      target is discarded by a check below.
      
      Test Plan: NFC
      
      Reviewers: maksfb, dcci, rafaelauler, ayermolo
      
      Reviewed By: ayermolo
      
      Pull Request: https://github.com/llvm/llvm-project/pull/82129
      de0abc09
    • Amir Ayupov's avatar
      [BOLT][NFC] Expose YAMLProfileWriter::convert function · 061b4089
      Amir Ayupov authored
      The function is to be used by YAML profile emission in BAT mode for
      BinaryFunctions not covered by BAT tables (same as in original binary).
      
      Test Plan: NFC
      
      Reviewers: rafaelauler, ayermolo, dcci, maksfb
      
      Reviewed By: dcci
      
      Pull Request: https://github.com/llvm/llvm-project/pull/76909
      061b4089
    • Heejin Ahn's avatar
      [PGO] Use isScopedEHPersonality for funclet check (#85671) · 2b7289d4
      Heejin Ahn authored
      This line should be `isScopedEHPersonality` rather than
      `isFuncletEHPersonality` because this line is used for checking whether
      we need to add `funclet` op bundles to newly added calls, and Wasm EH
      needs that too.
      
      The new test case is adapted from
      
      https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/PGOProfile/memop_profile_funclet.ll.
      2b7289d4
    • John McCall's avatar
      Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011) · de4ce5dd
      John McCall authored
      The old logic expects the call to be the last thing we emitted, and
      since it kicks in before we emit cleanups, and since `swiftasynccall`
      functions always return void, that's likely to be true. "Likely" isn't
      very reassuring when we're talking about slapping attributes on random
      calls, though. And indeed, while I can't find any way to break the logic
      directly in current main, our previous (ongoing?) experiments with
      shortening argument temporary lifetimes definitely broke it wide open.
      So while this commit is prophylactic for now, it's clearly the right
      thing to do, and it can cherry-picked to other branches to fix problems.
      de4ce5dd
    • Oleksandr "Alex" Zinenko's avatar
      [mlir] split transform interfaces into a separate library (#85221) · 5a9bdd85
      Oleksandr "Alex" Zinenko authored
      Transform interfaces are implemented, direction or via extensions, in
      libraries belonging to multiple other dialects. Those dialects don't
      need to depend on the non-interface part of the transform dialect, which
      includes the growing number of ops and transitive dependency footprint.
      
      Split out the interfaces into a separate library. This in turn requires
      flipping the dependency from the interface on the dialect that has crept
      in because both co-existed in one library. The interface shouldn't
      depend on the transform dialect either.
      
      As a consequence of splitting, the capability of the interpreter to
      automatically walk the payload IR to identify payload ops of a certain
      kind based on the type used for the entry point symbol argument is
      disabled. This is a good move by itself as it simplifies the interpreter
      logic. This functionality can be trivially replaced by a
      `transform.structured.match` operation.
      5a9bdd85
    • Andrzej Warzyński's avatar
      [mlir][vector] Adds pattern rewrite for maskable Ops (#83827) · b7324b6a
      Andrzej Warzyński authored
      Adds a generic pattern rewrite for maskable Ops, `MaskableOpRewritePattern`,
      that will work for both masked and un-masked cases, e.g. for both:
      
      * `vector.mask {vector.contract}` (masked), and
      * `vector.contract` (not masked).
      
      This helps to reduce code-duplication and standardise how we implement such
      patterns.
      
      Fixes #78787
      b7324b6a
    • Paul Kirth's avatar
      [llvm][lld] Pre-commit tests for RISCV TLSDESC symbols · f6f474c4
      Paul Kirth authored
      Currently, we mistakenly mark the local labels used in RISC-V TLSDESC as
      TLS symbols, when they should not be. This patch adds tests with the
      current incorrect behavior, and subsequent patches will address the
      issue.
      
      Reviewers: MaskRay, topperc
      
      Reviewed By: MaskRay
      
      Pull Request: https://github.com/llvm/llvm-project/pull/85816
      f6f474c4
    • Kazu Hirata's avatar
      [clang] Fix a warning · 294a6c3b
      Kazu Hirata authored
      This patch fixes:
      
        clang/lib/CodeGen/CGExprComplex.cpp:1037:14: error: unused variable
        'ComplexElementTy' [-Werror,-Wunused-variable]
      294a6c3b
    • Stanislav Mekhanoshin's avatar
      [AMDGPU] Copy SOP properties from pseudo to real. NFCI. (#85997) · c2fd0e43
      Stanislav Mekhanoshin authored
      This is to help llvm-obdump to analyze instructions in a future patch.
      c2fd0e43
    • Christudasan Devadasan's avatar
      [PowerPC] Clang format (NFC). · 1f1f569b
      Christudasan Devadasan authored
      1f1f569b
    • Marc Auberer's avatar
    • Krzysztof Parzyszek's avatar
      [flang][Lower] Convert OMP Map and related functions to evaluate::Expr (#81626) · 84115494
      Krzysztof Parzyszek authored
      The related functions are `gatherDataOperandAddrAndBounds` and
      `genBoundsOps`. The former is used in OpenACC as well, and it was
      updated to pass evaluate::Expr instead of parser objects.
      
      The difference in the test case comes from unfolded conversions of index
      expressions, which are explicitly of type integer(kind=8).
      
      Delete now unused `findRepeatableClause2` and `findClause2`.
      
      Add `AsGenericExpr` that takes std::optional. It already returns
      optional Expr. Making it accept an optional Expr as input would reduce
      the number of necessary checks when handling frequent optional values in
      evaluator.
      
      [Clause representation 4/6]
      84115494
    • Valentin Clement (バレンタイン クレメン)'s avatar
      [flang][cuda] Fix fir.cuda_kernel_launch assembly with no args (#85987) · 0177a954
      When the kernel launch has no arguments, the generated parser was
      expecting at least a type to be present. Make the last part of the
      assemble format optional.
      Add a run line to round-trip the output through fir-opt so we make sure
      the IR can be parsed and printed correctly.
      0177a954
    • Zahira Ammarguellat's avatar
      [CLANG] Full support of complex multiplication and division. (#81514) · d9c4c312
      Zahira Ammarguellat authored
      In clang there are two options `-f[no]cx-limited-range` and
      `-f[no]cx-fortran-rules` that control the range of complex
      multiplication and division. However, it is unclear how these options
      interact with one another. For instance, what should happen when the
      users compile with `-fcx-fortran-rules -fno-cx-limited-range` or
      `-fcx-limited-range -fno-cx-fortran-rules`?
      
      In this patch we are introducing a new option to solve the issue and
      give a greater flexibility to the user to control the behavior of the
      compiler when performing multiplication and division of complex
      floating-point values.
      
      `-fcomplex-arihmetic=[full|improved|promoted|basic]`
      
      `full`: Implementation of complex division and multiplication using a
      call to runtime library functions (generally the case, but the BE might
      sometimes replace the library call if it knows enough about the
      potential range of the inputs). Overflow and non-finite values are
      handled by the library implementation. For the case of multiplication
      overflow will occur in accordance with normal floating-point rules. This
      is the default value.
      
      `improved`: Implementation of complex division using the Smith algorithm
      at source precision. Smith's algorithm for complex division. See SMITH,
      R. L. Algorithm 116: Complex division. Commun. ACM 5, 8 (1962). This
      value offers improved handling for overflow in intermediate
      calculations, but overflow may occur. NaN and infinite values are not
      handled in some cases.
      
      `promoted`: Implementation of complex division using algebraic formulas
      at higher precision. Overflow is handled. Non-finite values are handled
      in some cases. If the target does not have native support for a higher
      precision data type, the implementation for the complex operation using
      the Smith algorithm will be used. Overflow may still occur in some
      cases. NaN and infinite values are not handled.
      
      `basic`: Implementation of complex division and multiplication using
      algebraic formulas at source precision. No special handling to avoid
      overflow. NaN and infinite values are not handled.
      
      `fcx-limited-range` will alias `-fcomplex-arithmetic=basic`
      `-fcx-fortran-rules` will alias `-fcomplex-arithmetic=improved`
      `-fno-cx-limited-range` and `-fno-cx-fortran-rules` will alias
      `-fcomplex-arithmetic=full`
      
      The complex division and multiplication will be implemented as follows
      depending on the option used.
      
      <html xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:w="urn:schemas-microsoft-com:office:word"
      xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
      xmlns="http://www.w3.org/TR/REC-html40">
      
      <head>
      
      <meta name=ProgId content=Word.Document>
      <meta name=Generator content="Microsoft Word 15">
      <meta name=Originator content="Microsoft Word 15">
      <link rel=File-List
      
      href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml">
      <!--[if gte mso 9]><xml>
       <o:OfficeDocumentSettings>
        <o:AllowPNG/>
       </o:OfficeDocumentSettings>
      </xml><![endif]-->
      <link rel=themeData
      
      href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_themedata.thmx">
      <link rel=colorSchemeMapping
      
      href="file:///C:/Users/zahiraam/AppData/Local/Temp/msohtmlclip1/01/clip_colorschememapping.xml">
      <!--[if gte mso 9]><xml>
       <w:WordDocument>
        <w:View>Normal</w:View>
        <w:Zoom>0</w:Zoom>
        <w:TrackMoves/>
        <w:TrackFormatting/>
        <w:PunctuationKerning/>
        <w:ValidateAgainstSchemas/>
        <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
        <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
        <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
        <w:DoNotPromoteQF/>
        <w:LidThemeOther>EN-US</w:LidThemeOther>
        <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
        <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
        <w:Compatibility>
         <w:BreakWrappedTables/>
         <w:SnapToGridInCell/>
         <w:WrapTextWithPunct/>
         <w:UseAsianBreakRules/>
         <w:DontGrowAutofit/>
         <w:SplitPgBreakAndParaMark/>
         <w:EnableOpenTypeKerning/>
         <w:DontFlipMirrorIndents/>
         <w:OverrideTableStyleHps/>
        </w:Compatibility>
        <m:mathPr>
         <m:mathFont m:val="Cambria Math"/>
         <m:brkBin m:val="before"/>
         <m:brkBinSub m:val="&#45;-"/>
         <m:smallFrac m:val="off"/>
         <m:dispDef/>
         <m:lMargin m:val="0"/>
         <m:rMargin m:val="0"/>
         <m:defJc m:val="centerGroup"/>
         <m:wrapIndent m:val="1440"/>
         <m:intLim m:val="subSup"/>
         <m:naryLim m:val="undOvr"/>
        </m:mathPr></w:WordDocument>
      </xml><![endif]--><!--[if gte mso 9]><xml>
       <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
        DefSemiHidden="false" DefQFormat="false" DefPriority="99"
        LatentStyleCount="376">
      <w:LsdException Locked="false" Priority="0" QFormat="true"
      Name="Normal"/>
      <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading
      1"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
        <w:LsdException Locked="false" Priority="9" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 6"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 7"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 8"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index 9"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 1"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 2"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 3"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 4"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 5"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 6"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 7"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 8"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" Name="toc 9"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Normal Indent"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="footnote text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="annotation text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="header"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="footer"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="index heading"/>
        <w:LsdException Locked="false" Priority="35" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="caption"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="table of figures"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="envelope address"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="envelope return"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="footnote reference"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="annotation reference"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="line number"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="page number"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="endnote reference"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="endnote text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="table of authorities"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="macro"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="toa heading"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Bullet"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Number"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Bullet 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Bullet 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Bullet 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Bullet 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Number 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Number 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Number 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Number 5"/>
      <w:LsdException Locked="false" Priority="10" QFormat="true"
      Name="Title"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Closing"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Signature"/>
        <w:LsdException Locked="false" Priority="1" SemiHidden="true"
         UnhideWhenUsed="true" Name="Default Paragraph Font"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text Indent"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Continue"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Continue 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Continue 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Continue 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="List Continue 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Message Header"/>
      <w:LsdException Locked="false" Priority="11" QFormat="true"
      Name="Subtitle"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Salutation"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Date"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text First Indent"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text First Indent 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Note Heading"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text Indent 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Body Text Indent 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Block Text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Hyperlink"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="FollowedHyperlink"/>
      <w:LsdException Locked="false" Priority="22" QFormat="true"
      Name="Strong"/>
      <w:LsdException Locked="false" Priority="20" QFormat="true"
      Name="Emphasis"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Document Map"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Plain Text"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="E-mail Signature"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Top of Form"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Bottom of Form"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Normal (Web)"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Acronym"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Address"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Cite"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Code"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Definition"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Keyboard"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Preformatted"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Sample"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Typewriter"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="HTML Variable"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Normal Table"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="annotation subject"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="No List"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Outline List 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Outline List 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Outline List 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Simple 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Simple 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Simple 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Classic 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Classic 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Classic 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Classic 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Colorful 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Colorful 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Colorful 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Columns 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Columns 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Columns 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Columns 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Columns 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 6"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 7"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Grid 8"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 4"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 5"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 6"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 7"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table List 8"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table 3D effects 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table 3D effects 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table 3D effects 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Contemporary"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Elegant"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Professional"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Subtle 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Subtle 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Web 1"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Web 2"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Web 3"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Balloon Text"/>
        <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Table Theme"/>
      <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder
      Text"/>
      <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No
      Spacing"/>
        <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
        <w:LsdException Locked="false" Priority="61" Name="Light List"/>
        <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
        <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
        <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
        <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
        <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
        <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
        <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
        <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
        <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
        <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
        <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
        <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      1"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      1"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      1"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 1"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 1"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      1"/>
        <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
        <w:LsdException Locked="false" Priority="34" QFormat="true"
         Name="List Paragraph"/>
      <w:LsdException Locked="false" Priority="29" QFormat="true"
      Name="Quote"/>
        <w:LsdException Locked="false" Priority="30" QFormat="true"
         Name="Intense Quote"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      1"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      1"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      1"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      1"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 1"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      1"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      1"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      2"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      2"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      2"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 2"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 2"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      2"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      2"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      2"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      2"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      2"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 2"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      2"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      2"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      3"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      3"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      3"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 3"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 3"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      3"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      3"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      3"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      3"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      3"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 3"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      3"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      3"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      4"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      4"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      4"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 4"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 4"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      4"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      4"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      4"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      4"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      4"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 4"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      4"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      4"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      5"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      5"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      5"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 5"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 5"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      5"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      5"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      5"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      5"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      5"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 5"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      5"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      5"/>
      <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent
      6"/>
      <w:LsdException Locked="false" Priority="61" Name="Light List Accent
      6"/>
      <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent
      6"/>
      <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1
      Accent 6"/>
      <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2
      Accent 6"/>
      <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent
      6"/>
      <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent
      6"/>
      <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent
      6"/>
      <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent
      6"/>
      <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent
      6"/>
      <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
      <w:LsdException Locked="false" Priority="71" Name="Colorful Shading
      Accent 6"/>
      <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent
      6"/>
      <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent
      6"/>
        <w:LsdException Locked="false" Priority="19" QFormat="true"
         Name="Subtle Emphasis"/>
        <w:LsdException Locked="false" Priority="21" QFormat="true"
         Name="Intense Emphasis"/>
        <w:LsdException Locked="false" Priority="31" QFormat="true"
         Name="Subtle Reference"/>
        <w:LsdException Locked="false" Priority="32" QFormat="true"
         Name="Intense Reference"/>
      <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book
      Title"/>
        <w:LsdException Locked="false" Priority="37" SemiHidden="true"
         UnhideWhenUsed="true" Name="Bibliography"/>
        <w:LsdException Locked="false" Priority="39" SemiHidden="true"
         UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
        <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
        <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
        <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
        <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
        <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
        <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
      <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
        <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
        <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
        <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
      <w:LsdException Locked="false" Priority="51" Name="Grid Table 6
      Colorful"/>
      <w:LsdException Locked="false" Priority="52" Name="Grid Table 7
      Colorful"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 1"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      1"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      1"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      1"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 1"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 1"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 1"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 2"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      2"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      2"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      2"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 2"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 2"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 2"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 3"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      3"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      3"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      3"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 3"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 3"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 3"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 4"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      4"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      4"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      4"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 4"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 4"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 4"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 5"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      5"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      5"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      5"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 5"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 5"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 5"/>
        <w:LsdException Locked="false" Priority="46"
         Name="Grid Table 1 Light Accent 6"/>
      <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent
      6"/>
      <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent
      6"/>
      <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent
      6"/>
      <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark
      Accent 6"/>
        <w:LsdException Locked="false" Priority="51"
         Name="Grid Table 6 Colorful Accent 6"/>
        <w:LsdException Locked="false" Priority="52"
         Name="Grid Table 7 Colorful Accent 6"/>
      <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
        <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
        <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
        <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
      <w:LsdException Locked="false" Priority="51" Name="List Table 6
      Colorful"/>
      <w:LsdException Locked="false" Priority="52" Name="List Table 7
      Colorful"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 1"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      1"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      1"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      1"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 1"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 1"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 1"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 2"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      2"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      2"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      2"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 2"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 2"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 2"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 3"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      3"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      3"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      3"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 3"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 3"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 3"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 4"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      4"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      4"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      4"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 4"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 4"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 4"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 5"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      5"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      5"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      5"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 5"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 5"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 5"/>
        <w:LsdException Locked="false" Priority="46"
         Name="List Table 1 Light Accent 6"/>
      <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent
      6"/>
      <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent
      6"/>
      <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent
      6"/>
      <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark
      Accent 6"/>
        <w:LsdException Locked="false" Priority="51"
         Name="List Table 6 Colorful Accent 6"/>
        <w:LsdException Locked="false" Priority="52"
         Name="List Table 7 Colorful Accent 6"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Mention"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Smart Hyperlink"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Hashtag"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Unresolved Mention"/>
        <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
         Name="Smart Link"/>
       </w:LatentStyles>
      </xml><![endif]-->
      <style>
      <!--
       /* Font Definitions */
       @font-face
      	{font-family:"Cambria Math";
      	panose-1:2 4 5 3 5 4 6 3 2 4;
      	mso-font-charset:0;
      	mso-generic-font-family:roman;
      	mso-font-pitch:variable;
      	mso-font-signature:-536869121 1107305727 33554432 0 415 0;}
      @font-face
      	{font-family:Calibri;
      	panose-1:2 15 5 2 2 2 4 3 2 4;
      	mso-font-charset:0;
      	mso-generic-font-family:swiss;
      	mso-font-pitch:variable;
      	mso-font-signature:-469750017 -1040178053 9 0 511 0;}
       /* Style Definitions */
       p.MsoNormal, li.MsoNormal, div.MsoNormal
      	{mso-style-unhide:no;
      	mso-style-qformat:yes;
      	mso-style-parent:"";
      	margin-top:0in;
      	margin-right:0in;
      	margin-bottom:8.0pt;
      	margin-left:0in;
      	line-height:107%;
      	mso-pagination:widow-orphan;
      	font-size:11.0pt;
      	font-family:"Calibri",sans-serif;
      	mso-ascii-font-family:Calibri;
      	mso-ascii-theme-font:minor-latin;
      	mso-fareast-font-family:Calibri;
      	mso-fareast-theme-font:minor-latin;
      	mso-hansi-font-family:Calibri;
      	mso-hansi-theme-font:minor-latin;
      	mso-bidi-font-family:"Times New Roman";
      	mso-bidi-theme-font:minor-bidi;
      	mso-font-kerning:1.0pt;
      	mso-ligatures:standardcontextual;}
      .MsoChpDefault
      	{mso-style-type:export-only;
      	mso-default-props:yes;
      	font-family:"Calibri",sans-serif;
      	mso-ascii-font-family:Calibri;
      	mso-ascii-theme-font:minor-latin;
      	mso-fareast-font-family:Calibri;
      	mso-fareast-theme-font:minor-latin;
      	mso-hansi-font-family:Calibri;
      	mso-hansi-theme-font:minor-latin;
      	mso-bidi-font-family:"Times New Roman";
      	mso-bidi-theme-font:minor-bidi;}
      .MsoPapDefault
      	{mso-style-type:export-only;
      	margin-bottom:8.0pt;
      	line-height:107%;}
      @page WordSection1
      	{size:8.5in 11.0in;
      	margin:1.0in 1.0in 1.0in 1.0in;
      	mso-header-margin:.5in;
      	mso-footer-margin:.5in;
      	mso-paper-source:0;}
      div.WordSection1
      	{page:WordSection1;}
      -->
      </style>
      <!--[if gte mso 10]>
      <style>
       /* Style Definitions */
       table.MsoNormalTable
      	{mso-style-name:"Table Normal";
      	mso-tstyle-rowband-size:0;
      	mso-tstyle-colband-size:0;
      	mso-style-noshow:yes;
      	mso-style-priority:99;
      	mso-style-parent:"";
      	mso-padding-alt:0in 5.4pt 0in 5.4pt;
      	mso-para-margin-top:0in;
      	mso-para-margin-right:0in;
      	mso-para-margin-bottom:8.0pt;
      	mso-para-margin-left:0in;
      	line-height:107%;
      	mso-pagination:widow-orphan;
      	font-size:11.0pt;
      	font-family:"Calibri",sans-serif;
      	mso-ascii-font-family:Calibri;
      	mso-ascii-theme-font:minor-latin;
      	mso-hansi-font-family:Calibri;
      	mso-hansi-theme-font:minor-latin;
      	mso-bidi-font-family:"Times New Roman";
      	mso-bidi-theme-font:minor-bidi;
      	mso-font-kerning:1.0pt;
      	mso-ligatures:standardcontextual;}
      </style>
      <![endif]-->
      </head>
      
      <body lang=EN-US style='tab-interval:.5in;word-wrap:break-word'>
      <!--StartFragment-->
      
      
      -fcomplex-arithmetic | div | mul
      -- | -- | --
      basic | algebraic form | algebraic form
      improved | smith's algorithm | algebraic form
      full | libcall | libcall + nan processing
      promoted | algebraic form + higher precision | algebraic form
      
      
      
      <!--EndFragment-->
      </body>
      
      </html>
      d9c4c312
    • Aaron Ballman's avatar
      [C11] Add test coverage for N1310 and claim conformance · 7955bde6
      Aaron Ballman authored
      This is about the best I could do for testing that `signed char` does
      not have any padding bits.
      7955bde6
    • Min-Yih Hsu's avatar
      [RISCV] Add missing feature predicates to some of the RVV pseudos (#85983) · 2e817bfb
      Min-Yih Hsu authored
      Some of the RVV pseudos are missing HasVInstructions. This is
      effectively a NFC.
      2e817bfb
    • S. Bharadwaj Yadavalli's avatar
      [DirectX][DXIL] Distinguish return type for overload type resolution. (#85646) · 3f395712
      S. Bharadwaj Yadavalli authored
      Return type of DXIL Ops may be different from valid overload type of the
      parameters, if any. Such DXIL Ops are correctly represented in DXIL.td.
      However, DXILEmitter assumes the return type to be the same as parameter
      overload type, if one exists. This results in generation in incorrect
      overload index value in DXILOperation.inc for the DXIL Op and incorrect
      DXIL operation function call in DXILOpLowering pass.
      
      This change distinguishes return types correctly from parameter overload
      types in DXILEmitter backend to handle such DXIL ops.
      
      Add specification for DXIL Op `isinf` and corresponding tests to verify
      the above change.
      
      Fixes issue #85125
      3f395712
    • Craig Topper's avatar
      [RISCV] Use 'riscv-isa' module flag to set ELF flags and attributes. (#85155) · 891172d9
      Craig Topper authored
      Walk all the ISA strings and set the subtarget bits for any extension we
      find in any string.
      
      This allows LTO output to have a ELF attributes from the union of all of
      the files used to compile it.
      891172d9
    • Jason Eckhardt's avatar
      [TableGen] Fix operand constraint checking problem. (#85859) · f676e84b
      Jason Eckhardt authored
      Currently operand constraint checks on "$dest = $src" are inadvertently
      accepting any token that contains "=". This has surprising results, e.g,
      "$dest != $src" is accepted as a constraint but then treated as "=".
      
      This patch ensures that only exactly the token "=" is accepted.
      f676e84b
    • Vyacheslav Levytskyy's avatar
      [SPIRV] Add __spirv_ builtins for existing instructions (#85654) · c2483ed5
      Vyacheslav Levytskyy authored
      This PR:
      * adds __spirv_ builtins for existing instructions;
      * fixes parsing of "syncscope" values in atomic instructions;
      * fix a special case of binary header emision.
      c2483ed5