Skip to content
  1. Aug 13, 2021
    • Nico Weber's avatar
      [mailmap] Add entry for the GN LLVM syncbot · 3980cfcb
      Nico Weber authored
      The bot did its first 43 commits under the name "GN Syncbot" before
      it switched to "LLVM GN Syncbot". Use the latter as canonical name.
      3980cfcb
    • LLVM GN Syncbot's avatar
      [gn build] Port 2ff7ca98 · 76beb418
      LLVM GN Syncbot authored
      76beb418
    • Nico Weber's avatar
      [gn build] manually port 18f9e25c (AttrDocTable) · 18991120
      Nico Weber authored
      Also clang ClangAttrEmitter for -gen-clang-attr-doc-table to be
      like all other tablegen: Produce a .inc file with the generated bits
      and put the static parts into a regular .cpp file that includes the
      .inc file.
      18991120
    • Giorgis Georgakoudis's avatar
      [OpenMP][Fix] Fix disable spmdization option · 60e643fe
      Giorgis Georgakoudis authored
      Besides SPMDization, other analysis and optimization for original, frontend-generated SPMD regions uses information from the AAKernelInfoFunction attribute. This fix makes sure disabling SPMDization through the corresponding option applies only to generic mode regions, which should not be SPMDized, while it leaves unaffected the attribute state of original SPMD regions.
      
      Reviewed By: jdoerfert
      
      Differential Revision: https://reviews.llvm.org/D108001
      60e643fe
    • Ruiling Song's avatar
      SplitKit: Don't further split subrange mask in buildCopy · e1beebba
      Ruiling Song authored
      We may use several COPY instructions to copy the needed sub-registers
      during split. But the way we split the lanes during the COPYs may be
      different from the subranges of the old register. This would fail when we
      extend the subranges of the new register because the LaneMasks do not
      match exactly between subranges of new register and old register.
      Since we are bundling the COPYs, I think there is no need to further refine the
      subranges of the new register based on the set of LaneMasks of the inserted COPYs.
      
      I am not sure if there will be further breaking cases. But as the subranges of
      new register are created based on the LaneMasks of the subranges of old register,
      it will be highly possible we will always find an exact LaneMask match.
      We can think about how to make the extendPHIKillRanges() work for
      subrange mask mismatch case if we meet more such cases in the future.
      
      The test case was from D105065 by @arsenm.
      
      Differential Revision: https://reviews.llvm.org/D107829
      e1beebba
    • Yonghong Song's avatar
      [Clang] add btf_tag attribute · 1b194ef1
      Yonghong Song authored
      A new attribute btf_tag is added. The syntax looks like
        __attribute__((btf_tag(<string>)))
      
      Users may tag a particular structure/member/function/func_parameter/variable
      declaration with an arbitrary string and the intention is
      that this string is passed to dwarf so it is available for
      post-compilation analysis. The string will be also passed
      to .BTF section if the target is BPF. For each permitted
      declaration, multiple btf_tag's are allowed.
      For detailed use cases, please see
        https://lists.llvm.org/pipermail/llvm-dev/2021-June/151009.html
      
      In case that there exist redeclarations, the btf_tag attributes
      will be accumulated along with different declarations, and the
      last declaration will contain all attributes.
      
      Differential Revision: https://reviews.llvm.org/D106614
      1b194ef1
    • Heejin Ahn's avatar
      [WebAssembly] Fix leak in Emscripten SjLj · adb96d2e
      Heejin Ahn authored
      For SjLj, we allocate a table to record setjmp buffer info in the entry
      of each setjmp-calling function by inserting a `malloc` call, and insert
      a `free` call to free the buffer before each `ret` instruction.
      
      But this is not sufficient; we have to free the buffer before we throw.
      In SjLj handling, normal functions that can possibly throw or longjmp
      are wrapped with an invoke and caught within the function so they don't
      end up escaping the function. But three functions throw and escape the
      function:
      - `__resumeException` (Emscripten library function used for Emscripten
        EH)
      - `emscripten_longjmp` (Emscripten library function used for Emscripten
        SjLj)
      - `__cxa_throw` (libc++abi function called when for C++ `throw` keyword)
      
      The first two functions are used to rethrow the current
      exception/longjmp when the caught exception/longjmp is not for the
      current function. `__cxa_throw` is used for exception, and because we
      consider that a function that cannot longjmp, it escapes the function
      right away, before which we should free the buffer.
      
      Currently `lsan.test_longjmp3` and `lsan.test_exceptions_longjmp3` fail
      in Emscripten; this CL fixes these.
      
      Reviewed By: dschuff
      
      Differential Revision: https://reviews.llvm.org/D107852
      adb96d2e
    • Heejin Ahn's avatar
      [WebAssembly] Error out when Emscripten SjLj setjmp is used with Wasm EH · aca198cf
      Heejin Ahn authored
      Currently, when Wasm EH is used with Emscripten SjLj, Emscripten SjLj
      cannot handle `invoke` instructions - it assumes all `invoke`s have been
      lowered away with Emscripten EH. But in Wasm EH they are lowered in
      instruction selection, so they are still present in the IR stage. This
      happens when
      1. Wasm EH and Emscripten SjLj are used together
      2. A function that calls `setjmp` uses exceptions, i.e., has `invoke`s
      
      We were already erroring out with an assertion failure in this case, but
      this CL makes it error out more properly with a valid error message.
      
      Wasm EH + Wasm SjLj will not have this restrictions. (it will have
      another restriction though, e.g., `setjmp` cannot be called within
      `catch`. But why would anyone do that..)
      
      Reviewed By: dschuff
      
      Differential Revision: https://reviews.llvm.org/D107687
      aca198cf
    • Vitaly Buka's avatar
      [sanitizer] Fix the test on Solaris · bf6000dc
      Vitaly Buka authored
      On Solaris sem_open on the same name returns the same pointer, and
      then sem_close fails the call.
      bf6000dc
    • Duncan P. N. Exon Smith's avatar
      Frontend: Add -f{,no-}implicit-modules-uses-lock and -Rmodule-lock · b714f73d
      Duncan P. N. Exon Smith authored
      Add -cc1 flags `-fmodules-uses-lock` and `-fno-modules-uses-lock` to
      allow the lock manager to be turned off when building implicit modules.
      
      Add `-Rmodule-lock` so that we can see when it's being used.
      
      Differential Revision: https://reviews.llvm.org/D95583
      b714f73d
    • natashaknk's avatar
      [mlir][tosa] Fix depthwise_conv2D strides/dilation and name · ba0997ca
      natashaknk authored
      Reviewed By: rsuderman
      
      Differential Revision: https://reviews.llvm.org/D107997
      ba0997ca
    • Sam McCall's avatar
      [clangd] Avoid "expected one compiler job" by picking the first eligible job. · 2ff7ca98
      Sam McCall authored
      This happens in createInvocationWithCommandLine but only clangd currently passes
      ShouldRecoverOnErorrs (sic).
      
      One cause of this (with correct command) is several -arch arguments for mac
      multi-arch support.
      
      Fixes https://github.com/clangd/clangd/issues/827
      
      Differential Revision: https://reviews.llvm.org/D107632
      2ff7ca98
    • Christian Kandeler's avatar
      clangd: Make documentation property of completion items more similar · 6b28835b
      Christian Kandeler authored
      ... to the one of signature hints.
      In particular, completion items now also carry annotations, which client
      code might be interested in.
      
      Reviewed By: sammccall
      
      Differential Revision: https://reviews.llvm.org/D107365
      6b28835b
    • Duncan P. N. Exon Smith's avatar
      Frontend: Refactor compileModuleAndReadAST, NFC · c130300f
      Duncan P. N. Exon Smith authored
      This renames `compileModuleAndReadAST`, adding a `BehindLock` suffix,
      and refactors it to significantly reduce nesting.
      
      - Split out helpers `compileModuleAndReadASTImpl` and
        `readASTAfterCompileModule` which have straight-line code that doesn't
        worry about locks.
      - Use `break` in the interesting cases of `switch` statements to reduce
        nesting.
      - Use early `return`s to reduce nesting.
      
      Detangling the compile-and-read logic from the check-for-locks logic
      should be a net win for readability, although I also have a side
      motivation of making the locks optional in a follow-up.
      
      No functionality change here.
      
      Differential Revision: https://reviews.llvm.org/D95581
      c130300f
    • Christian Kandeler's avatar
      clangd: Provide hover info for include directives · f9c8602b
      Christian Kandeler authored
      It's quite useful to be able to hover over an #include and see the full
      path to the header file.
      
      Reviewed By: sammccall
      
      Differential Revision: https://reviews.llvm.org/D107137
      f9c8602b
  2. Aug 12, 2021
Loading