Skip to content
  1. Mar 06, 2020
    • Matt Arsenault's avatar
      Reapply "clang: Treat ieee mode as the default for denormal-fp-math" · 00b2a9df
      Matt Arsenault authored
      This reverts commit 737394c4.
      
      The fp-model test was failing on platforms that enable denormal flushing
      based on -ffast-math. This needs to reset to IEEE, not the default in
      these cases.
      
      Change-Id: Ibbad32f66d0d0b89b9c1173a3a96fb1a570ddd89
      00b2a9df
    • Saar Raz's avatar
      [Concepts] Add null check for TemplateTypeParmType::getDecl() in... · 865456d5
      Saar Raz authored
      [Concepts] Add null check for TemplateTypeParmType::getDecl() in GetContainedInventedTypeParmVisitor
      
      GetContainedInventedTypeParmVisitor would not account for the case where TemplateTypeParmType::getDecl() is
      nullptr, causing bug #45102.
      
      Add the nullptr check.
      865456d5
    • Alexey Bataev's avatar
      [OPENMP50]Add 'depobj' modifier in 'depend' clauses. · 5dadf577
      Alexey Bataev authored
      Added basic support (parsing/sema/serialization) for depobj dependency
      kind in depend clauses.
      5dadf577
    • Aaron Puchert's avatar
      [Sema] Reword -Wrange-loop-analysis warning messages · 33bb32bb
      Aaron Puchert authored
      Summary:
      The messages for two of the warnings are misleading:
      * warn_for_range_const_reference_copy suggests that the initialization
        of the loop variable results in a copy. But that's not always true,
        we just know that some conversion happens, potentially invoking a
        constructor or conversion operator. The constructor might copy, as in
        the example that lead to this message [1], but it might also not.
        However, the constructed object is bound to a reference, which is
        potentially misleading, so we rewrite the message to emphasize that.
        We also make sure that we print the reference type into the warning
        message to clarify that this warning only appears when operator*
        returns a reference.
      * warn_for_range_variable_always_copy suggests that a reference type
        loop variable initialized from a temporary "is always a copy". But
        we don't know this, the range might just return temporary objects
        which aren't copies of anything. (Assuming RVO a copy constructor
        might never have been called.)
      
      The message for warn_for_range_copy is a bit repetitive: the type of a
      VarDecl and its initialization Expr are the same up to cv-qualifiers,
      because Sema will insert implicit casts or constructor calls to make
      them match.
      
      [1] https://bugs.llvm.org/show_bug.cgi?id=32823
      
      Reviewers: aaron.ballman, Mordante, rtrieu
      
      Reviewed By: aaron.ballman
      
      Differential Revision: https://reviews.llvm.org/D75613
      33bb32bb
    • Stephan Herhut's avatar
      Revert "PR45083: Mark statement expressions as being dependent if they contain" · 8e4a8677
      Stephan Herhut authored
      This reverts commit a95cc77b.
      
      Causes an internal build failure. I followed up with the author by mail.
      8e4a8677
    • Richard Smith's avatar
      PR45083: Mark statement expressions as being dependent if they contain · a95cc77b
      Richard Smith authored
      dependent constructs.
      
      We previously assumed they were neither value- nor
      instantiation-dependent under any circumstances, which would lead to
      crashes and other misbehavior.
      
      This doesn't match GCC's behavior (where statement expressions appear to
      be treated as value-dependent if they appear in a dependent context),
      but seems to be the best thing we can do in the short term: it turns out
      to be remarkably difficult for us to correctly determine whether we are
      in a dependent context (and it's not even possible in some cases, such
      as in a generic lambda where we might not have seen the 'auto' yet).
      a95cc77b
    • Arthur Eubanks's avatar
      Add warnings for casting ptr -> smaller int for C++ in Microsoft mode · cfff4851
      Arthur Eubanks authored
      Adds warnings to groups recently added in https://reviews.llvm.org/D72231.
      
      Reviewed By: rnk
      
      Differential Revision: https://reviews.llvm.org/D75708
      cfff4851
  2. Mar 05, 2020
  3. Mar 04, 2020
    • Alexey Bataev's avatar
      [OPENMP50]Codegen for 'destroy' clause in depobj directive. · b27ff4d0
      Alexey Bataev authored
      If the destroy clause is appplied, the previously allocated memory for
      the dependency object must be destroyed.
      b27ff4d0
    • Richard Smith's avatar
      Fix regression in bdad0a1b: force rebuilding of StmtExpr nodes in · f545ede9
      Richard Smith authored
      TreeTransform if the 'dependent' flag would change.
      f545ede9
    • Alexey Bataev's avatar
      [OPENMP50]Codegen for 'depend' clause in depobj directive. · e46f0fee
      Alexey Bataev authored
      Added codegen for 'depend' clause in depobj directive. The depend clause
      is emitted as kmp_depend_info <deps>[<number_of_items_in_clause> + 1]. The
      first element in this array is reserved for storing the number of
      elements in this array: <deps>[0].base_addr =
      <number_of_items_in_clause>;
      
      This extra element is required to implement 'update' and 'destroy'
      clauses. It is required to know the size of array to destroy it
      correctly and to update depency kind.
      e46f0fee
    • Jeremy Morse's avatar
      [analyzer] decode() a bytes object to make Python3 happy · d4f9675b
      Jeremy Morse authored
      The output of subprocess.check_output is decode()'d through the rest of
      this python program, but one appears to have been missed for the output
      of the call to "clang -print-file-name=include".
      
      On Windows, with Python 3.6, this leads to the 'args' array being a mix of
      bytes and strings, which causes exceptions later down the line.
      
      I can't easily test with python2 on Windows, but python2 on Ubuntu 18.04
      was happy with this change.
      d4f9675b
    • Jeremy Morse's avatar
      Quote a python executable path · 16c6e0f3
      Jeremy Morse authored
      On my Windows machine at least, the path to python contains a space.
      16c6e0f3
    • Alexey Bataev's avatar
      [OPENMP50]'source' and 'sink' kinds are not allowed in depobj. · 4f29d30f
      Alexey Bataev authored
      Do not allow to use 'sink' and 'source' dependency kinds in 'depobj'
      directive.
      4f29d30f
    • Simon Tatham's avatar
      [ARM,MVE] Add the `vshlcq` intrinsics. · 068b2f31
      Simon Tatham authored
      Summary:
      The VSHLC instruction performs a left shift of a whole vector register
      by an immediate shift count up to 32, shifting in new bits at the low
      end from a GPR and delivering the shifted-out bits from the high end
      back into the same GPR.
      
      Since the instruction produces two outputs (the shifted vector
      register and the output GPR of shifted-out bits), it has to be
      instruction-selected in C++ rather than Tablegen.
      
      Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard
      
      Reviewed By: miyuki
      
      Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D75445
      068b2f31
    • Simon Tatham's avatar
      [ARM,MVE] Add the `vsbciq` intrinsics. · 810127f6
      Simon Tatham authored
      Summary:
      These are exactly parallel to the existing `vadciq` intrinsics, which
      we implemented last year as part of the original MVE intrinsics
      framework setup.
      
      Just like VADC/VADCI, the MVE VSBC/VSBCI instructions deliver two
      outputs, both of which the intrinsic exposes: a modified vector
      register and a carry flag. So they have to be instruction-selected in
      C++ rather than Tablegen. However, in this case, that's trivial: the
      same C++ isel routine we already have for VADC works unchanged, and
      all we have to do is to pass it a different instruction id.
      
      Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard
      
      Reviewed By: miyuki
      
      Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
      
      Tags: #clang, #llvm
      
      Differential Revision: https://reviews.llvm.org/D75444
      810127f6
    • Charusso's avatar
      [analyzer] AnalyzerOptions: Remove 'fixits-as-remarks' · abdd33c8
      Charusso authored
      Summary: The new way of checking fix-its is `%check_analyzer_fixit`.
      
      Reviewed By: NoQ, Szelethus, xazax.hun
      
      Differential Revision: https://reviews.llvm.org/D73729
      abdd33c8
    • Charusso's avatar
      [analyzer] FixItHint: Apply and test hints with the Clang-Tidy's script · f69c74db
      Charusso authored
      Summary:
      This patch introduces a way to apply the fix-its by the Analyzer:
      `-analyzer-config apply-fixits=true`.
      
      The fix-its should be testable, therefore I have copied the well-tested
      `check_clang_tidy.py` script. The idea is that the Analyzer's workflow
      is different so it would be very difficult to use only one script for
      both Tidy and the Analyzer, the script would diverge a lot.
      Example test: `// RUN: %check-analyzer-fixit %s %t -analyzer-checker=core`
      
      When the copy-paste happened the original authors were:
      @alexfh, @zinovy.nis, @JonasToth, @hokein, @gribozavr, @lebedev.ri
      
      Reviewed By: NoQ, alexfh, zinovy.nis
      
      Differential Revision: https://reviews.llvm.org/D69746
      f69c74db
    • hsmahesha's avatar
      [HIP] Make sure, unused hip-pinned-shadow global var is kept within device code · cac06860
      hsmahesha authored
      Summary:
      hip-pinned-shadow global var should remain in the final code object irrespective
      of whether it is used or not within the code. Add it to used list, so that it
      will not get eliminated when it is unused.
      
      Reviewers: yaxunl, tra, hliao
      
      Reviewed By: yaxunl
      
      Subscribers: hliao, cfe-commits
      
      Tags: #clang
      
      Differential Revision: https://reviews.llvm.org/D75402
      cac06860
    • Richard Smith's avatar
      PR45087: Fix check for emptiness when determining whether a trivial copy · ad18665e
      Richard Smith authored
      operation needs to read from its operand.
      ad18665e
    • Richard Smith's avatar
      PR45083: Mark statement expressions as being dependent if they appear in · bdad0a1b
      Richard Smith authored
      dependent contexts.
      
      We previously assumed they were neither value- nor
      instantiation-dependent under any circumstances, which would lead to
      crashes and other misbehavior.
      bdad0a1b
  4. Mar 03, 2020
  5. Mar 02, 2020
Loading