1. Apr 18, 2022
    • Chris Lattner's avatar
      [Support] Move ParseResult from OpDefinition.h to LogicalResult.h · 81b2dc54
      Chris Lattner authored
      This class is a helper for 'parser-like' use cases of LogicalResult
      where the implicit conversion to bool is tolerable.  It is used by the
      operation asmparsers, but is more generic functionality that is closely
      aligned with LogicalResult.  Hoist it up to LogicalResult.h to make it
      more accessible.  This is part of Issue #54884
      
      Differential Revision: https://reviews.llvm.org/D123760
      81b2dc54
    • Richard Smith's avatar
      Treat `std::move`, `forward`, etc. as builtins. · b27430f9
      Richard Smith authored
      This is extended to all `std::` functions that take a reference to a
      value and return a reference (or pointer) to that same value: `move`,
      `forward`, `move_if_noexcept`, `as_const`, `addressof`, and the
      libstdc++-specific function `__addressof`.
      
      We still require these functions to be declared before they can be used,
      but don't instantiate their definitions unless their addresses are
      taken. Instead, code generation, constant evaluation, and static
      analysis are given direct knowledge of their effect.
      
      This change aims to reduce various costs associated with these functions
      -- per-instantiation memory costs, compile time and memory costs due to
      creating out-of-line copies and inlining them, code size at -O0, and so
      on -- so that they are not substantially more expensive than a cast.
      Most of these improvements are very small, but I measured a 3% decrease
      in -O0 object file size for a simple C++ source file using the standard
      library after this change.
      
      We now a...
      b27430f9
    • Lang Hames's avatar
    • Lang Hames's avatar
      412c6d15
    • Lang Hames's avatar
      [llvm-jitlink] Don't show FailedToMaterialize errors by default. · ef61592b
      Lang Hames authored
      This patch makes printing of FailedToMaterialize errors in llvm-jitlink
      conditional on the -show-err-failed-to-materialize option, which defaults to
      false.
      
      FailedToMaterialize errors are not root-cause errors: they're generated when a
      symbol is requested but cannot be provided because of a failure that was
      reported on some other error path. They typically don't convey actionable
      information, and tend to flood error logs making root cause errors harder to
      spot. Hiding FailedToMaterialize errors by default addresses these issues.
      ef61592b
    • Mehdi Amini's avatar
      Revert "[MLIR] Provide a way to print ops in custom form on pass failure" · d98481a1
      Mehdi Amini authored
      This reverts commit daabcf5f.
      
      This patch still had on-going discussion that should be closed before
      committing.
      d98481a1
    • Johannes Doerfert's avatar
      [Attributor] CGSCC pass should not recompute results outside the SCC (reapply) · e87f10a7
      Johannes Doerfert authored
      When we run the CGSCC pass we should only invest time on the SCC. We can
      initialize AAs with information from the module slice but we should not
      update those AAs. We make an exception for are call site of the SCC as
      they are helpful providing information for the SCC.
      
      Minor modifications to pointer privatization allow us to perform it even
      in the CGSCC pass, similar to ArgumentPromotion.
      e87f10a7
    • Daniil Kovalev's avatar
      [NVPTX] Use opaque pointers in param space vectorization tests · eb3d6469
      Daniil Kovalev authored
      Opaque pointers are enabled by default since D123300, so test IR should be
      regenerated correspondingly.
      
      Differential Revision: https://reviews.llvm.org/D123842
      eb3d6469
  2. Apr 17, 2022
  3. Apr 16, 2022