1. Nov 06, 2020
  2. Nov 05, 2020
    • Raphael Isemann's avatar
      [lldb] Set the default architecture also in buildDefault · b9b5f12b
      Raphael Isemann authored
      In D89056 the default value for architecture was moved to `build` so that
      all called functions see the same architecture value. It seems there are a
      few functions that call buildDefault directly (and not via build), so
      on some test configurations that set a custom arch value the architecture
      value is no longer available.
      
      This just adds the architecture code from build to buildDefault to get
      the bots green again while I'm looking for a better solution.
      b9b5f12b
    • Erich Keane's avatar
      Implement Lambda Conversion Operators for All CCs for MSVC. · 6b104ea4
      Erich Keane authored
      As described here:
      https://devblogs.microsoft.com/oldnewthing/20150220-00/?p=44623
      
      In order to allow Lambdas to be used with traditional Win32 APIs, they
      emit a conversion function for (what Raymond Chen claims is all) a
      number of the calling conventions.  Through experimentation, we
      discovered that the list isn't quite 'all'.
      
      This patch implements this by taking the list of conversions that MSVC
      emits (across 'all' architectures, I don't see any CCs on ARM), then
      emits them if they are supported by the current target.
      
      However, we also add 3 other options (which may be duplicates):
      free-function, member-function, and operator() calling conventions.  We
      do this because we have an extension where we generate both free and
      member for these cases so th at people specifying a calling convention
      on the lambda will have the expected behavior when specifying one of
      those two.
      
      MSVC doesn't seem to permit specifying calling-convention on lambdas,
      but we do, so we need to make sure those are emitted as well. We do this
      so that clang-only conventions are supported if the user specifies them.
      
      Differential Revision: https://reviews.llvm.org/D90634
      6b104ea4
    • LLVM GN Syncbot's avatar
      [gn build] Port 659f4bd8 · 1ec726f9
      LLVM GN Syncbot authored
      1ec726f9
    • Raphael Isemann's avatar
      [clang] Add an option for hiding line numbers in diagnostics · 659f4bd8
      Raphael Isemann authored
      Clang offers a `-f[no]-show-column` flag for hiding the column numbers when
      printing diagnostics but there is no option for doing the same with line
      numbers.
      
      In LLDB having this option would be useful, as LLDB sometimes only knows the
      file name for a SourceLocation and just assigns it the dummy line/column `1:1`.
      These fake line/column numbers are confusing to the user and LLDB should be able
      to tell clang to hide *both* the column and the line number when rendering text
      diagnostics.
      
      This patch adds a flag for also hiding the line numbers. It's not exposed via
      the command line flags as it's most likely not very useful for any user and can
      lead to ambiguous output when the user decides to only hide either the line or
      the column number (where `file:1: ...` could now refer to both line 1 or column
      1 depending on the compiler flags). LLDB can just access the DiagnosticOptions
      directly when constructing its internal Clang instance.
      
      The effect doesn't apply to Vi/MSVC style diagnostics because it's not defined
      how these diagnostic styles would show an omitted line number (MSVC doesn't have
      such an option and Vi's line mode is theory only supporting line numbers if I
      understand it correctly).
      
      Reviewed By: thakis, MaskRay
      
      Differential Revision: https://reviews.llvm.org/D83038
      659f4bd8
    • Mircea Trofin's avatar
    • Simon Pilgrim's avatar
      [KnownBits] Move ValueTracking SREM KnownBits handling to KnownBits::srem. NFCI. · 6729b6de
      Simon Pilgrim authored
      Move the ValueTracking implementation to KnownBits, the SelectionDAG version is more limited so I'm intending to replace that as a separate commit.
      6729b6de
    • Raphael Isemann's avatar
      [lldb] Add Apple simulator platforms to lldbplatform.py · 26a8e850
      Raphael Isemann authored
      This just adds the simulator platforms to the lldbplatform enumerations
      and the respective test decorator.
      
      The platform names for the simulator are just the SDK names since D85537, so
      that's why we are not using LLDB's usual platform names here (e.g., SDK =
      "iphonesimulator" vs LLDB platform ="ios-simulator").
      
      Also removes the duplicate platform enumaration in lldbplatformutil.py.
      
      Reviewed By: JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D89694
      26a8e850
    • Simon Pilgrim's avatar
      [KnownBits] Move ValueTracking/SelectionDAG UREM KnownBits handling to KnownBits::urem. NFCI. · e237d56b
      Simon Pilgrim authored
      Both these have the same implementation - so move them to a single KnownBits copy.
      
      GlobalISel will be able to use this as well with minimal effort.
      e237d56b
    • Alexander Belyaev's avatar
      [mlir] Move TestDialect and its passes to mlir::test namespace. · 72c65b69
      Alexander Belyaev authored
      TestDialect has many operations and they all live in ::mlir namespace.
      Sometimes it is not clear whether the ops used in the code for the test passes
      belong to Standard or to Test dialects.
      
      Also, with this change it is easier to understand what test passes registered
      in mlir-opt are actually passes in mlir/test.
      
      Differential Revision: https://reviews.llvm.org/D90794
      72c65b69