1. Feb 07, 2023
  2. Feb 06, 2023
    • Jay Foad's avatar
      [AMDGPU] Fix some LABEL check lines · 805da0e2
      Jay Foad authored
      805da0e2
    • Jay Foad's avatar
      [AMDGPU] Fix DOS line endings in some tests · 785cc4d7
      Jay Foad authored
      785cc4d7
    • serge-sans-paille's avatar
      Reapply 6fa2abf9 · 0ffaffca
      serge-sans-paille authored
      Lazyly initialize uncommon toolchain detector
      
      Cuda and rocm toolchain detectors are currently run unconditionally,
      while their result may not be used at all. Make their initialization
      lazy so that the discovery code is not run in common cases.
      
      Reapplied since 77910ac3 landed and
      fixes the test ordering issue.
      
      Differential Revision: https://reviews.llvm.org/D142606
      0ffaffca
    • zhijian's avatar
      [NFC] add new function is64Bit for SymbolicFile class · 5f19fb5a
      zhijian authored
      Summary:
      
      since the class 'SymbolicFile ' do not have a is64Bit() API , when we need to check whether a SymbolicFile object is 64bit or not. we need to write a function to do it, it maybe cause duplication code.
      
      Reviewers: James Henderson, Fangrui Song
      Differential Revision: https://reviews.llvm.org/D143097
      5f19fb5a
    • Simon Pilgrim's avatar
    • Simon Pilgrim's avatar
      [X86] combineConcatVectorOps - merge 256-bit logic ops on AVX2+ · 505cf2b6
      Simon Pilgrim authored
      AVX1 doesn't benefit as nearly all integer ops will stay as 128-bit ops.
      
      This only exposes a couple of minor changes but will be a lot more useful in an upcoming shuffle combining patch.
      505cf2b6
    • John Brawn's avatar
      [extract_symbols.py] Better handling of templates · 5de5f66b
      John Brawn authored
      Since commit 846b6767 SmallVectorBase<uint32_t> has been explicitly
      instantiated, which means that clang.exe must export it for a plugin
      to be able to link against it, but the constructor is not exported as
      currently no template constructors or destructors are exported.
      
      We can't just export all constructors and destructors, as that puts us
      over the symbol limit on Windows, so instead rewrite how we decide
      which templates need to be exported to be more precise. Currently we
      assume that templates instantiated many times have no explicit
      instantiations, but this isn't necessarily true and results also in
      exporting implicit template instantiations that we don't need
      to. Instead check for references to template members, as this
      indicates that the template must be explicitly instantiated (as if it
      weren't the template would just be implicitly instantiated on use).
      
      Doing this reduces the number of symbols exported from clang from
      66011 to 53993 (in the build configuration that I've been testing). It
      also lets us get rid of the special-case handling of Type::getAs, as
      its explicit instantiations are now being detected as such.
      
      Differential Revision: https://reviews.llvm.org/D142989
      5de5f66b