1. May 05, 2020
    • Sanjay Patel's avatar
      [x86] add tests for concat of casts; NFC · f1d083ab
      Sanjay Patel authored
      f1d083ab
    • Snehasish Kumar's avatar
      Descriptive symbol names for machine basic block sections. · c8ac29ab
      Snehasish Kumar authored
      Today symbol names generated for machine basic block sections use a
      unary encoding to reduce bloat. This is essential when every basic block
      in the binary is assigned a symbol however with basic block clusters
      (rG05192e58) when we only need to
      generate a few non-temporary symbols we can assign more descriptive
      names making them more user friendly. With this change -
      
      Cold cluster section for function foo is named "foo.cold"
      Exception cluster section for function foo is named "foo.eh"
      Other cluster sections identified by their ids are named "foo.ID"
      Using this format works well with existing tools. It will demangle as
      expected and works with existing symbolizers, profilers and debuggers
      out of the box.
      
      $ c++filt _Z3foov.cold
      foo() [clone .cold]
      
      $ c++filt _Z3foov.eh
      foo() [clone .eh]
      
      $c++filt _Z3foov.1234
      foo() [clone 1234]
      
      Tests for basicblock-sections are updated with some cleanup where
      appropriate.
      
      Differential Revision: https://reviews.llvm.org/D79221
      c8ac29ab
    • peter klausler's avatar
      [flang] Fix x87 binary->decimal · 6fec2c44
      peter klausler authored
      Summary:
      Fix decimal formatting of 80-bit x87 values; the calculation ofnearest neighbor values failed to account for the explicitmost significant bit in that format.
      
      Replace MultiplyByRounded with MultiplyBy in binary->decimal conversions,
      since rounding won't happen and the name was misleading; then remove
      dead code, and migrate LoseLeastSignificantDigit() from one source file
      to another where it's still needed.
      
      Reviewers: tskeith, sscalpone, jdoerfert, DavidTruby
      
      Reviewed By: tskeith
      
      Subscribers: llvm-commits, flang-commits
      
      Tags: #flang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D79345
      6fec2c44
    • Fangrui Song's avatar
      [llvm-objdump][ARM] Print inline relocations when dumping ARM data · ac9e8b3a
      Fangrui Song authored
      Fixes PR44357
      
      For ARM ELF, regions covered by data mapping symbols `$d` are dumped as `.byte`, `.short` or `.word` but inline relocations are not printed. This patch merges its loop into the normal instruction printing loop so that inline relocations are printed.
      
      Reviewed By: nickdesaulniers
      
      Differential Revision: https://reviews.llvm.org/D79284
      ac9e8b3a
    • Sander de Smalen's avatar
      [SveEmitter] Add builtins for Int & FP reductions · 54fa46aa
      Sander de Smalen authored
      This patch adds integer builtins for:
      - svaddv, svandv, sveorv,
        svmaxv, svminv, svorv.
      
      And FP builtins for:
      - svadda, svaddv, svmaxv, svmaxnmv,
        svminv, svminnmv
      54fa46aa
    • Valentin Churavy's avatar
      [MLIR] Adjust libMLIR building to more closely follow libClang · 4f0f4367
      Valentin Churavy authored
      - Exports MLIR targets to be used out-of-tree.
      - mimicks `add_clang_library` and `add_flang_library`.
      - Fixes libMLIR.so
      
      After https://reviews.llvm.org/D77515 libMLIR.so was no longer containing
      any object files. We originally had a cludge there that made it work with
      the static initalizers and when switchting away from that to the way the
      clang shlib does it, I noticed that MLIR doesn't create a `obj.{name}` target,
      and doesn't export it's targets to `lib/cmake/mlir`.
      
      This is due to MLIR using `add_llvm_library` under the hood, which adds
      the target to `llvmexports`.
      
      Differential Revision: https://reviews.llvm.org/D78773
      
      [MLIR] Fix libMLIR.so and LLVM_LINK_LLVM_DYLIB
      
      Primarily, this patch moves all mlir references to LLVM libraries into
      either LLVM_LINK_COMPONENTS or LINK_COMPONENTS.  This enables magic in
      the llvm cmake files to automatically replace reference to LLVM components
      with references to libLLVM.so when necessary.  Among other things, this
      completes fixing libMLIR.so, which has been broken for some configurations
      since D77515.
      
      Unlike previously, the pattern is now that mlir libraries should almost
      always use add_mlir_library.  Previously, some libraries still used
      add_llvm_library.  However, this confuses the export of targets for use
      out of tree because libraries specified with add_llvm_library are exported
      by LLVM.  Instead users which don't need/can't be linked into libMLIR.so
      can specify EXCLUDE_FROM_LIBMLIR
      
      A common error mode is linking with LLVM libraries outside of LINK_COMPONENTS.
      This almost always results in symbol confusion or multiply defined options
      in LLVM when the same object file is included as a static library and
      as part of libLLVM.so.  To catch these errors more directly, there's now
      mlir_check_all_link_libraries.
      
      To simplify usage of add_mlir_library, we assume that all mlir
      libraries depend on LLVMSupport, so it's not necessary to separately specify
      it.
      
      tested with:
      BUILD_SHARED_LIBS=on,
      BUILD_SHARED_LIBS=off + LLVM_BUILD_LLVM_DYLIB,
      BUILD_SHARED_LIBS=off + LLVM_BUILD_LLVM_DYLIB + LLVM_LINK_LLVM_DYLIB.
      
      By: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
      Differential Revision: https://reviews.llvm.org/D79067
      
      [MLIR] Move from using target_link_libraries to LINK_LIBS
      
      This allows us to correctly generate dependencies for derived targets,
      such as targets which are created for object libraries.
      
      By: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
      Differential Revision: https://reviews.llvm.org/D79243
      
      Three commits have been squashed to avoid intermediate build breakage.
      4f0f4367
    • Siva Chandra Reddy's avatar
      9ae25643
    • Denys Petrov's avatar
    • Sean Fertile's avatar
    • David Green's avatar
      de904f53
    • Alexandre Ganea's avatar
      [DebugInfo][CodeView] Include namespace into emitted globals · 721ea5b3
      Alexandre Ganea authored
      Before this patch, global variables didn't have their namespace prepended in the Codeview debug symbol stream. This prevented Visual Studio from displaying them in the debugger (they appeared as 'unspecified error')
      
      Differential Revision: https://reviews.llvm.org/D79028
      721ea5b3
    • Louis Dionne's avatar
      [libc++] Always enable local submodule visibility in the test suite · 94361ddd
      Louis Dionne authored
      When building with modules, always enable local submodule visibility.
      It used to be disabled on Apple platforms, but it seems like we want
      to use the same flags on Apple and Linux now (see https://reviews.llvm.org/D74892).
      94361ddd
    • Med Ismail Bennani's avatar
      [lldb/test] Fix wrong target command failure message on Windows · 6b8d6f44
      Med Ismail Bennani authored
      This patch fixes the test failure happening on Windows introduced by
      `01511741
      
      `.
      
      Since the failure message comes from the OS, the test needs to support both
      UNIX and Windows messages.
      
      Signed-off-by: default avatarMed Ismail Bennani <medismail.bennani@gmail.com>
      6b8d6f44
    • Zarko's avatar
      cb783764
    • Zola Bridges's avatar
      [llvm][dfsan][NFC] Factor out fcn initialization · 8d8fda49
      Zola Bridges authored
      Summary:
      Moving these function initializations into separate functions makes it easier
      to read the runOnModule function. There is also precedent in the sanitizer code:
      asan has a function ModuleAddressSanitizer::initializeCallbacks(Module &M). I
      thought it made sense to break the initializations into two sets. One for the
      compiler runtime functions and one for the event callbacks.
      
      Tested with: check-all
      
      Reviewed By: morehouse
      
      Differential Revision: https://reviews.llvm.org/D79307
      8d8fda49
    • Louis Dionne's avatar
      [libc++] NFC: Remove unnecessary scope · 09e4e9ff
      Louis Dionne authored
      The double-braces were initially to escape Python string formatting, but
      that string isn't sent through Python string formatting.
      09e4e9ff
    • Yaxun (Sam) Liu's avatar
      Let clang print registered targets for --version · 66041187
      Yaxun (Sam) Liu authored
      We need a way to know supported targets by clang since
      people may use clang as assembler and they want to
      choose the clang which supports their target.
      
      This patch let clang print registered targets when
      --version option is passed to clang.
      
      Differential Revision: https://reviews.llvm.org/D79210
      66041187
    • Louis Dionne's avatar
  2. May 04, 2020