1. Jan 12, 2023
  2. Jan 11, 2023
  3. Jan 10, 2023
  4. Jan 07, 2023
  5. Nov 29, 2022
  6. Nov 23, 2022
  7. Nov 22, 2022
  8. Nov 16, 2022
  9. Nov 11, 2022
  10. Nov 02, 2022
    • Matt Arsenault's avatar
      AMDGPU: Make various vector undefs legal · 5c68a1cb
      Matt Arsenault authored
      Surprisingly these were getting legalized to something
      zero initialized.
      
      This fixes an infinite loop when combining some vector types.
      Also fixes zero initializing some undef values.
      
      SimplifyDemandedVectorElts / SimplifyDemandedBits are not checking
      for the legality of the output undefs they are replacing unused
      operations with. This resulted in turning vectors into undefs
      that were later re-legalized back into zero vectors.
      
      (cherry picked from commit 7a846240)
      5c68a1cb
    • Yonghong Song's avatar
      [clang][Sema] Fix a clang crash with btf_type_tag · 80a9fc84
      Yonghong Song authored
      For the following program,
        $ cat t.c
        struct t {
         int (__attribute__((btf_type_tag("rcu"))) *f)();
         int a;
        };
        int foo(struct t *arg) {
          return arg->a;
        }
      Compiling with 'clang -g -O2 -S t.c' will cause a failure like below:
        clang: /home/yhs/work/llvm-project/clang/lib/Sema/SemaType.cpp:6391: void {anonymous}::DeclaratorLocFiller::VisitParenTypeLoc(clang::ParenTypeLoc):
               Assertion `Chunk.Kind == DeclaratorChunk::Paren' failed.
        PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
        Stack dump:
        ......
        #5 0x00007f89e4280ea5 abort (/lib64/libc.so.6+0x21ea5)
        #6 0x00007f89e4280d79 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21d79)
        #7 0x00007f89e42a6456 (/lib64/libc.so.6+0x47456)
        #8 0x00000000045c2596 GetTypeSourceInfoForDeclarator((anonymous namespace)::TypeProcessingState&, clang::QualType, clang::TypeSourceInfo*) SemaType.cpp:0:0
        #9 0x00000000045ccfa5 GetFullTypeForDeclarator((anonymous namespace)::TypeProcessingState&, clang::QualType, clang::TypeSourceInfo*) SemaType.cpp:0:0
        ......
      
      The reason of the failure is due to the mismatch of TypeLoc and D.getTypeObject().Kind. For example,
      the TypeLoc is
        BTFTagAttributedType 0x88614e0 'int  btf_type_tag(rcu)()' sugar
        |-ParenType 0x8861480 'int ()' sugar
        | `-FunctionNoProtoType 0x8861450 'int ()' cdecl
        |   `-BuiltinType 0x87fd500 'int'
      while corresponding D.getTypeObject().Kind points to DeclaratorChunk::Paren, and
      this will cause later assertion.
      
      To fix the issue, similar to AttributedTypeLoc, let us skip BTFTagAttributedTypeLoc in
      GetTypeSourceInfoForDeclarator().
      
      Differential Revision: https://reviews.llvm.org/D136807
      80a9fc84
  11. Oct 28, 2022
  12. Oct 25, 2022
    • Tom Praschan's avatar
      [clangd] Return earlier when snippet is empty · db687238
      Tom Praschan authored
      Fixes github.com/clangd/clangd/issues/1216
      
      If the Snippet string is empty, Snippet.front() would trigger a crash.
      Move the Snippet->empty() check up a few lines to avoid this. Should not
      break any existing behavior.
      
      Differential Revision: https://reviews.llvm.org/D134137
      
      (cherry picked from commit 60528c69)
      db687238
    • Jonas Devlieghere's avatar
      [lldb] Automatically unwrap parameter packs in template argument accessors · 2d5c43ad
      Jonas Devlieghere authored
      When looking at template arguments in LLDB, we usually care about what
      the user passed in his code, not whether some of those arguments where
      passed as a variadic parameter pack.
      
      This patch extends all the C++ APIs to look at template parameters to
      take an additional 'expand_pack' boolean that automatically unwraps the
      potential argument packs. The equivalent SBAPI calls have been changed
      to pass true for this parameter.
      
      A byproduct of the patch is to also fix the support for template type
      that have only a parameter pack as argument (like the OnlyPack type in
      the test). Those were not recognized as template instanciations before.
      
      The added test verifies that the SBAPI is able to iterate over the
      arguments of a variadic template.
      
      The original patch was written by Fred Riss almost 4 years ago.
      
      Differential revision: https://reviews.llvm.org/D51387
      
      (cherry picked from commit b706f561)
      2d5c43ad
    • Tom Stellard's avatar
      [SystemZ] Relase notes for LLVM 15 · 1e1c5204
      Tom Stellard authored
      Unfortunately these notes were compiled until now, but these are the release notes for SystemZ.
      
      (Did not find anything under clang)
      
      @tstellar Should I push this patch onto release/15.x once approved, or will you apply it?
      
      Differential Revision: https://reviews.llvm.org/D134430
      1e1c5204
  13. Oct 24, 2022
  14. Oct 18, 2022