1. Jun 03, 2020
  2. Jun 02, 2020
    • Simon Pilgrim's avatar
    • David Truby's avatar
      [flang] Fix release build flags. · 81bf1e29
      David Truby authored
      Summary:
      This patch removes the custom CMAKE_RELEASE_CXX_FLAGS variable.
      This variable being set was having the effect of removing other important
      Release flags, notably `-DNDEBUG`.
      
      This patch may need to be accompanied by fixes for the macOS issues that
      the removed comment mentions; I don't have a mac to test this on though so
      hopefully a reviewer can help with that.
      
      Reviewers: Andrzej, tskeith, sscalpone
      
      Subscribers: mgorny, llvm-commits
      
      Tags: #llvm
      
      Differential Revision: https://reviews.llvm.org/D80794
      81bf1e29
    • Tom Weaver's avatar
      [Dexter] Add DexLimitSteps command and ConditionalController · 81e836a5
      Tom Weaver authored
        * Adds DexLimitSteps Command.
        * Add ConditionalController, a new DebuggerController type.
        * 5 regression tests
        * documentation
      
        Reviewers: jmorse
      
        Differential Revision: https://reviews.llvm.org/D79786
      81e836a5
    • Tom Weaver's avatar
      [Dexter] Add os.path.normcase(...) transform to test path early. · bf1cdc2c
      Tom Weaver authored
        When passing a test path, if the path points directly at a file, then
        normcase would not be called on path.
      
        This would change the expected lower case drive path, on windows, to be
        uppercase. This patch simply calls normcase on the test path at the earliest
        point possible to avoid this issue.
      
        Reviewers: djtodoro, jmorse
      
        Differential Revision: https://reviews.llvm.org/D78633
      bf1cdc2c
    • Dmitri Gribenko's avatar
      Reinstate the syntax tree test for 'static' in an array subscript · 53c29a42
      Dmitri Gribenko authored
      Reviewers: eduucaldas
      
      Reviewed By: eduucaldas
      
      Subscribers: cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D81009
      53c29a42
    • Alexey Bataev's avatar
      [OPENMP50]Initial codegen for 'affinity' clauses. · 89d9dba2
      Alexey Bataev authored
      Summary:
      Added initial codegen for 'affinity' clauses on task directives.
      Emits next code:
      ```
      kmp_task_affinity_info_t affs[<num_elems>];
      
      void *td = __kmpc_task_alloc(..);
      
      affs[<i>].base = &data_i;
      affs[<i>].size = sizeof(data_i);
      __kmpc_omp_reg_task_with_affinity(&loc, <gtid>, td, <num_elems>, affs);
      ```
      
      The result returned by the call of `__kmpc_omp_reg_task_with_affinity`
      function is ignored currently sincethe  runtime currently ignores args
      and returns 0 uncoditionally.
      
      Reviewers: jdoerfert
      
      Subscribers: yaxunl, guansong, sstefan1, llvm-commits, cfe-commits, caomhin
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D80240
      89d9dba2
    • Dmitri Gribenko's avatar
      Renamed Lang_C to Lang_C99, Lang_CXX to Lang_CXX03, and 2a to 20 · d559185a
      Dmitri Gribenko authored
      Summary:
      I think we would be better off with tests explicitly specifying the
      language mode. Right now Lang_C means C99, but reads as "any C version",
      or as "unspecified C version".
      
      I also changed '-std=c++98' to '-std=c++03' because they are aliases (so
      there is no difference in practice), because Clang implements C++03
      rules in practice, and because 03 makes a nice sortable progression
      between 03, 11, 14, 17, 20.
      
      Reviewers: shafik, hlopko
      
      Reviewed By: hlopko
      
      Subscribers: jfb, martong, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D81000
      d559185a
    • Georgii Rymar's avatar
      [yaml2obj] - Allocate the file space for SHT_NOBITS sections in some cases. · aa3a85cd
      Georgii Rymar authored
      This teaches yaml2obj to allocate file space for a no-bits section
      when there is a non-nobits section in the same segment that follows it.
      
      It was discussed in D78005 thread and matches GNU linkers and LLD behavior.
      
      Differential revision: https://reviews.llvm.org/D80629
      aa3a85cd
    • serge-sans-paille's avatar
      Use Pseudo Instruction to carry stack probing information · 6c733f5a
      serge-sans-paille authored
      Instead of using a fake call and metadata to temporarily represent a probed
      static alloca, use a pseudo instruction.
      
      This is inspired by the SystemZ approach proposed in https://reviews.llvm.org/D78717.
      
      Differential Revision: https://reviews.llvm.org/D80641
      6c733f5a
    • Haojian Wu's avatar
      [AST][RecoveryExpr] Build RecoveryExpr for "undef_var" cases. · 21ccc684
      Haojian Wu authored
      Summary:
      For a none-function-like unresolved expression, clang builds a TypoExpr
      for it, and tries to correct it afterwards. If the typo-correction
      fails, clang just drops the whole expr.
      
      This patch improves the recovery strategy -- if the typo-correction
      fails, we preserve the AST by degrading the typo exprs to recovery
      exprs.
      
      This would improve toolings for "undef_var" broken cases:
      ```
      void foo();
      void test() {
        fo^o(undef_var); // go-to-def, hover still works.
      }
      ```
      
      TESTED=ran tests with this patch + turn-on-recovery-ast patch, it breaks
      one declare_variant_messages testcase (the diagnostics are slightly
      changed), I think it is acceptable.
      
      ```
      Error: 'error' diagnostics seen but not expected:
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 16: expected 'match' clause on 'omp declare variant' directive
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 57: expected 'match' clause on 'omp declare variant' directive
      error: 'warning' diagnostics expected but not seen:
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 47: the context selector 'kind' in the context set 'device' cannot have a score ('<invalid>'); score ignored
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 87: the context selector 'kind' in the context set 'device' cannot have a score ('<invalid>'); score ignored
      error: 'warning' diagnostics seen but not expected:
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 47: the context selector 'kind' in the context set 'device' cannot have a score ('<recovery-expr>()'); score ignored
        File llvm-project/clang/test/OpenMP/declare_variant_messages.cpp Line 87: the context selector 'kind' in the context set 'device' cannot have a score ('<recovery-expr>()'); score ignored
      6 errors generated.
      ```
      
      Reviewers: sammccall, jdoerfert
      
      Subscribers: sstefan1, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D80733
      21ccc684
    • Matt Arsenault's avatar
      AMDGPU: Fix not using scalar loads for global reads in shaders · 85117e28
      Matt Arsenault authored
      The pass which infers when it's legal to load a global address space
      as SMRD was only considering amdgpu_kernel, and ignoring the shader
      entry type calling conventions.
      85117e28
    • Haojian Wu's avatar
      e16a4efd
    • Kadir Cetinkaya's avatar
      [lldb] Handle a new clang built-in type · df06f4ff
      Kadir Cetinkaya authored
      df06f4ff
    • Matt Arsenault's avatar
      AMDGPU: Fix clang side null pointer value for private · 301a6da8
      Matt Arsenault authored
      The change to fold_priv_arith looks strange to me, but this was
      already the untested behavior for local.
      301a6da8
    • Kadir Cetinkaya's avatar
      [clangd] Copy existing includes in ReplayPreamble · 8506877c
      Kadir Cetinkaya authored
      Summary:
      ReplayPreamble was just grabbing the reference of IncludeStructure
      passed to it and then replayed any includes seen so while exiting
      built-in file.
      
      This implies any include seen in built-in files being replayed as part
      of preamble, even though they are not. This wasn't an issue until we've
      started patching preambles, as includes from built-in files were not
      mapped back to main-file.
      
      This patch copies over existing includes at the time of
      ReplayPreamble::attach and only replies those to prevent any includes
      from the preamble patch getting mixed-in.
      
      Reviewers: sammccall, jkorous
      
      Subscribers: ilya-biryukov, MaskRay, dexonsmith, arphaman, usaxena95, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D80988
      8506877c
    • Kadir Cetinkaya's avatar
      Revert "[clangd] Copy existing includes in ReplayPreamble" · a0f13b33
      Kadir Cetinkaya authored
      This reverts commit bff0c56f. I've
      pushed the earlier version of the patch by mistake.
      a0f13b33
    • Nico Weber's avatar
      [gn build] (manually) port 44f989e7 · dd3ebe22
      Nico Weber authored
      dd3ebe22
    • Igor Kudrin's avatar
      Fix a failing test. · 17c920e2
      Igor Kudrin authored
      17c920e2
    • Alex Zinenko's avatar
      [mlir] support materialization for 1-1 type conversions · 5c5dafc5
      Alex Zinenko authored
      Dialect conversion infrastructure supports 1->N type conversions by requiring
      individual conversions to provide facilities to generate operations
      retrofitting N values into 1 of the original type when N > 1. This
      functionality can also be used to materialize explicit "cast"-like operations,
      but it did not support 1->1 type conversions until now. Modify TypeConverter to
      support materialization of cast operations for 1-1 conversions.
      
      This also makes materialization specification more extensible following the
      same pattern as type conversions. Instead of overloading a virtual function,
      users or subclasses of TypeConversion can now register type-specific
      materialization callbacks that will be called in order for the given type.
      
      Differential Revision: https://reviews.llvm.org/D79729
      5c5dafc5
    • Kadir Cetinkaya's avatar
      [clangd] Copy existing includes in ReplayPreamble · bff0c56f
      Kadir Cetinkaya authored
      ReplayPreamble was just grabbing the reference of IncludeStructure
      passed to it and then replayed any includes seen so while exiting
      built-in file.
      
      This implies any include seen in built-in files being replayed as part
      of preamble, even though they are not. This wasn't an issue until we've
      started patching preambles, as includes from built-in files were not
      mapped back to main-file.
      
      This patch copies over existing includes at the time of
      ReplayPreamble::attach and only replies those to prevent any includes
      from the preamble patch getting mixed-in.
      bff0c56f