1. Jul 24, 2020
    • MaheshRavishankar's avatar
      [mlir][Linalg] Fixing bug in subview size computation in Linalg tiling. · 4ff48db6
      MaheshRavishankar authored
      The `makeTiledViews` did not use the sizes of the tiled views based on
      the result of the loop bound inference computation. This manifested as
      an error in computing tile sizes with convolution where not all the
      result expression of concatenated affine maps are simple
      AffineDimExpr.
      
      Differential Revision: https://reviews.llvm.org/D84366
      4ff48db6
    • Louis Dionne's avatar
      [libc++] Build the dylib with -faligned-allocation · 918ba933
      Louis Dionne authored
      This avoids issues when building the dylib for deployment targets that
      don't support aligned allocation, where Clang normally triggers an
      error to warn users their code would break at runtime when back-deployed.
      Since we're building the dylib itself, which contains the aligned
      allocation functions, we don't want to trigger that error.
      
      Differential Revision: https://reviews.llvm.org/D84418
      918ba933
    • Matt Morehouse's avatar
      Revert "[DFSan] Handle fast16labels for all API functions." · df441c90
      Matt Morehouse authored
      This reverts commit 19d9c039 due to
      buildbot failure.
      df441c90
    • Nikita Popov's avatar
      [PredicateInfo][SCCP] Remove assertion (PR46814) · def48b0e
      Nikita Popov authored
      As long as RenamedOp is not guaranteed to be accurate, we cannot
      assert here and should just return false. This was already done
      for the other conditions in this function.
      
      Fixes https://bugs.llvm.org/show_bug.cgi?id=46814.
      def48b0e
    • Simon Pilgrim's avatar
    • Dokyung Song's avatar
      [libFuzzer] Disable interceptor tests on non-Linux platforms. · 769dab20
      Dokyung Song authored
      Summary: libFuzzer's interceptor support added in 831ae45e currently only works on Linux. This patch disables the test cases added as part of that commit on non-Linux platforms.
      
      Reviewers: morehouse, hctim
      
      Subscribers: #sanitizers
      
      Tags: #sanitizers
      
      Differential Revision: https://reviews.llvm.org/D84434
      769dab20
    • Gui Andrade's avatar
      [MSAN] Allow emitting checks for struct types · 3285b242
      Gui Andrade authored
      Differential Revision: https://reviews.llvm.org/D82680
      3285b242
    • Simon Pilgrim's avatar
      RegionInfo.cpp - remove duplicate includes that already exist in RegionInfo.h. NFC. · 7eb21349
      Simon Pilgrim authored
      Also remove some unnecessary forward declarations in RegionInfo.h.
      7eb21349
    • Gui Andrade's avatar
      [MSAN] Never allow checking calls to __sanitizer_unaligned_{load,store} · 0025d52c
      Gui Andrade authored
      These functions expect the caller to always pass shadows over TLS.
      
      Differential Revision: https://reviews.llvm.org/D84351
      0025d52c
    • Louis Dionne's avatar
      [libc++abi] Also build the static archive with C++17 · aae2ff64
      Louis Dionne authored
      The dylib and the static archive should really be built using the same
      Standard, it was just an oversight.
      aae2ff64
    • Raphael Isemann's avatar
      [lldb] Make socket_packet_pump.py work in Python3 · 4a3a821c
      Raphael Isemann authored
      Summary:
      
      The `string_escape` encoding used here was removed in Python 3 which makes the
      test crash during tearDown:
      
      ```
        File "lldb/third_party/Python/module/unittest2/unittest2/case.py", line 386, in run
          self.tearDown()
        File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py", line 124, in tearDown
          self._pump_queues.verify_queues_empty()
        File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/socket_packet_pump.py", line 55, in verify_queues_empty
          _dump_queue(self.packet_queue())
        File "lldb/packages/Python/lldbsuite/test/tools/lldb-server/socket_packet_pump.py", line 28, in _dump_queue
          print(codecs.encode(the_queue.get(True), "string_escape"))
      LookupError: unknown encoding: string_escape
      ```
      
      Just replace it with `repr` which should work in both Python versions.
      
      Reviewers: labath, JDevlieghere
      
      Reviewed By: labath, JDevlieghere
      
      Subscribers: JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D84017
      4a3a821c
    • Raphael Isemann's avatar
      [lldb][NFC] Remove FormatMap · 77ae06b8
      Raphael Isemann authored
      Summary:
      
      FormattersContainer.h has two containers: FormatMap and FormattersContainer
      itself. FormatMap is essentially just a SetVector with a listener interface that
      is aspiring to be thread-safe as most of its functions lock its member mutex.
      
      FormattersContainer is for the most part just calling the matching functions of
      internal FormatMap instance and essentially acts as a wrapper class with some
      minor formatter search functionality on top. The only difference is that the
      FormattersContainer's public `Get` function is actually searching formatters in
      the list of formatters (and for example doing regex-matching) while FormatMap's
      `Get` function is just looking up a a format by the type matcher string.
      
      This patch deletes `FormatMap` by just renaming it to `FormattersContainer` and
      pulling in the two `Get` functions from the original `FormattersContainer`
      class.
      
      The only other user of `FormatMap` was the `NamedSummariesMap` in the
      `FormatManager` which I migrated by just making it also a `FormattersContainer`
      and replaced the only call to the `Get` function (which now has new semantics)
      with `GetExact` (which is FormattersContainer's function that has the semantics
      of FormatMap's `Get`). As `NamedSummariesMap` only stores non-regex-based
      formatters, both `Get` and `GetExact` would have worked, so this was mostly to
      clarify that this is supposed to be NFC.
      
      I also added the missing mutex lock in the `GetCount` function which was
      previously missing in the `FormatMap` implementation. Technically not "NFC" but
      I anyway had to change the function...
      
      Reviewers: labath, mib
      
      Reviewed By: labath
      
      Subscribers: abidh, JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D84296
      77ae06b8
    • Gui Andrade's avatar
      0edc1350
    • Florian Hahn's avatar
    • Raphael Isemann's avatar
      Reland [lldb] Unify type name matching in FormattersContainer II · 4d489e9f
      Raphael Isemann authored
      This was originally reverted because the m_valid member in TypeMatcher was
      unused in builds with disabled asserts. Now the member is gone and the default
      constructor is deleted (thanks Eric for the idea!).
      
      Summary:
      
      FormattersContainer stores LLDB's formatters. It's implemented as a templated
      map-like data structures that supports any kind of value type and only allows
      ConstString and RegularExpression as the key types. The keys are used for
      matching type names (e.g., the ConstString key `std::vector` matches the type
      with the same name while RegularExpression keys match any type where the
      RegularExpression instance matches).
      
      The fact that a single FormattersContainer can only match either by string
      comparison or regex matching (depending on the KeyType) causes us to always have
      two FormatterContainer instances in all the formatting code. This also leads to
      us having every type name matching logic in LLDB twice. For example,
      TypeCategory has to implement every method twice (one string matching one, one
      regex matching one).
      
      This patch changes FormattersContainer to instead have a single `TypeMatcher`
      key that wraps the logic for string-based and regex-based type matching and is
      now the only possible KeyType for the FormattersContainer. This means that a
      single FormattersContainer can now match types with both regex and string
      comparison.
      
      To summarize the changes in this patch:
      * Remove all the `*_Impl` methods from `FormattersContainer`
      * Instead call the FormatMap functions from `FormattersContainer` with a
        `TypeMatcher` type that does the respective matching.
      * Replace `ConstString` with `TypeMatcher` in the few places that directly
        interact with `FormattersContainer`.
      
      I'm working on some follow up patches that I split up because they deserve their
      own review:
      
      * Unify FormatMap and FormattersContainer (they are nearly identical now).
      * Delete the duplicated half of all the type matching code that can now use one
        interface.
      * Propagate TypeMatcher through all the formatter code interfaces instead of
        always offering two functions for everything.
      
      There is one ugly design part that I couldn't get rid of yet and that is that we
      have to support getting back the string used to construct a `TypeMatcher` later
      on. The reason for this is that LLDB only supports referencing existing type
      matchers by just typing their respective input string again (without even
      supplying if it's a regex or not).
      
      Reviewers: davide, mib
      
      Reviewed By: mib
      
      Subscribers: mgorny, JDevlieghere
      
      Differential Revision: https://reviews.llvm.org/D84151
      4d489e9f
    • Simon Pilgrim's avatar
      CSEInfo.h - remove unused includes. NFC. · 95d7cace
      Simon Pilgrim authored
      95d7cace
    • Craig Topper's avatar
      [X86] Add Feature64Bit to the 'generic' CPU and remove feature string hacking... · 5dbcf5e3
      Craig Topper authored
      [X86] Add Feature64Bit to the 'generic' CPU and remove feature string hacking in X86Subtarget constructor
      
      Feature64Bit is only used by a check in the X86Subtarget
      constructor to ensure that the CPU selected supports 64-bit mode
      when the triple is for 64-bit mode.
      
      'generic' is the default CPU in llc and so needs to be able to
      pass this check. Previously we did this by detecting the name and
      adding the feature to the feature string. But there doesn't seem
      to be any reason we can't just add the feature to the CPU directly.
      5dbcf5e3
    • Pete Steinfeld's avatar
      [flang] Fix a crash when a BOZ literal is used as a relational operator · 83dca19c
      Pete Steinfeld authored
      Summary:
      Expressions like `iVar==z'fe'` were causing an assertion error  because
      the `Relate()` function in `Evaluate/tools.cpp` that processes
      relational operators didn't deal with BOZ literals, which are typeless.
      I fixed this by checking to see if the operands are BOZ literals.  If
      so, if the other operand is REAL, I convert them to REAL.  Otherwise, I convert
      them to integers with default kind.
      
      I also added a test to resolve63.f90 that triggers the problem.
      
      Reviewers: tskeith, DavidTruby
      
      Subscribers: llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D83917
      83dca19c
    • Jonas Devlieghere's avatar
      [lldb] Pass ConstString by value (again) (NFC) · ccdb5b4b
      Jonas Devlieghere authored
      This reverts "Eliminate unneeded value parameters in Utility" for
      ConstString. As Pavel pointed out on the mailing list, the class *is*
      trivially copyable.
      ccdb5b4b
    • Steven Wu's avatar
      [Bitcode] Drop invalid branch_weight in BitcodeReader · 78709345
      Steven Wu authored
      Summary:
      If bitcode reader gets an invalid branch weight, drop that from the
      inputs. This allows us to read the broken modules we generated before
      the verifier was able to catch this.
      
      rdar://64870641
      
      Reviewers: yrouban, t.p.northover, dexonsmith, arphaman, aprantl
      
      Reviewed By: aprantl
      
      Subscribers: aprantl, hiraditya, jkorous, ributzka, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D83699
      78709345
  2. Jul 23, 2020