1. Dec 07, 2023
    • Julian Schmidt's avatar
      [clang-tidy] add modernize-use-std-numbers (#66583) · 3f73fd77
      Julian Schmidt authored
      Finds constants and function calls to math functions that can be
      replaced with c++20's mathematical constants from the 'numbers' 
      header and offers fix-it hints.
      Does not match the use of variables with that value, and instead,
      offers a replacement at the definition of those variables.
      3f73fd77
    • Jeremy Morse's avatar
      f85a38e2
    • Craig Topper's avatar
    • Aart Bik's avatar
      [mlir][sparse] remove LoopOrd type (#74540) · 5b0db27a
      Aart Bik authored
      Rationale:
      We no longer deal with topsort during sparsification, so that LoopId ==
      LoopOrd for all methods. This first revision removes the types. A follow
      up revision will simplify some other remaining constructs that deal with
      loop order (e.g. at and ldx).
      5b0db27a
    • Reid Kleckner's avatar
    • Jeremy Morse's avatar
      [DebugInfo][RemoveDIs] Maintain DPValues on skipped instrs in CGP (#74602) · d0858bff
      Jeremy Morse authored
      It turns out that CodeGenPrepare will skip over consecutive select
      instructions as it knows it can optimise them all at the same time. This
      is unfortunate for the RemoveDIs project to remove intrinsic-based
      debug-info, because that means debug-info attached to those skipped
      instructions doesn't get seen by optimizeInst and so updated. Add code
      to handle debug-info on those skipped instructions manually.
      
      This code will also have been slower when it had dbg.values stuffed in
      between instructions, but with RemoveDIs it'll go faster because the
      dbg.values won't break up the select sequence.
      d0858bff
    • Paschalis Mpeis's avatar
      [NFC] Replace CallInst with FunctionType in VFABI, VFShape API (#74569) · 7b83f69d
      Paschalis Mpeis authored
      Minor simplification applied to VFShape::getScalarShape,
      VFShape::get, and VFABI::tryDemangleForVFABI methods.
      
      Also, remove unnecessary `static_cast` in `SLPVectorizer.cpp`
      7b83f69d
    • Jeremy Morse's avatar
      Reapply 34cdc913 (#74455), call-site-splitting for RemoveDIs · 384f916e
      Jeremy Morse authored
      Original commit message below; asan complained about this commit because it
      transpires that the final comparison with CurrentI is in fact a comparison
      of a pointer that has been freed. This seems to work fine most of the time,
      but using the iterator for such an instruction causes the freed instruction
      memory to be accessed, causing a use-after-free. The fix is to perform the
      comparison as an instruction, not an iterator.
      
      [NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)
      
      This patch gets call site splitting to use iterators for insertion
      rather than instruction pointers. When we switch on non-instr debug-info
      this becomes significant, as the iterators are going to signal whether
      or not a position is before or after debug-info.
      
      NFC as this isn't going to affect the output of any existing test.
      384f916e
    • Podchishchaeva, Mariya's avatar
      Revert "[clang] Substitute alias templates from correct context (#74335)" · 565dddec
      Podchishchaeva, Mariya authored
      It was reported in the PR that commit caused clang giving errors for
      code previously considered valid.
      This reverts commit 6b1aa319.
      565dddec
    • Michael Kenzel's avatar
      [libc++] Remove dependence on <ciso646> (#73271) · 03656776
      Michael Kenzel authored
      C++23 removed `<ciso646>` from the standard library. The header is used
      in a few places in order to pull in implementation-specific and feature
      test macros. The new way of doing that is `<version>`, which should be
      supported by all supported implementations. This change replaces all
      those uses of `<ciso646>` with `<version>`.
      03656776
    • Teresa Johnson's avatar
      [ThinLTO] Add tail call flag to call edges in summary (#74043) · 88fbc4d3
      Teresa Johnson authored
      This adds support for a HasTailCall flag on function call edges in the
      ThinLTO summary. It is intended for use in aiding discovery of missing
      frames from tail calls in profiled call stacks for MemProf of profiled
      binaries that did not disable tail call elimination. A follow on change
      will add the use of this new flag during MemProf context disambiguation.
      
      The new flag is encoded in the bitcode along with either the hotness
      flag from the profile, or the relative block frequency under the
      -write-relbf-to-summary flag when there is no profile data.
      Because we now will always have some additional call edge information, I
      have removed the non-profile function summary record format, and we
      simply encode the tail call flag along with a hotness type of none when
      there is no profile information or relative block frequency. The change
      of record format and name caused most of the test case changes.
      
      I have added explicit testing of generation of the new tail call flag
      into the bitcode and IR assembly format as part of the changes to
      llvm/test/Bitcode/thinlto-function-summary-refgraph.ll. I have also
      added round trip testing through assembly and bitcode to
      llvm/test/Assembler/thinlto-summary.ll.
      88fbc4d3
    • Matthew Devereau's avatar
      [SME2] Add LUTI2 and LUTI4 single Builtins and Intrinsics (#73304) · 8186e150
      Matthew Devereau authored
      See https://github.com/ARM-software/acle/pull/217
      
      Patch by: Hassnaa Hamdi <hassnaa.hamdi@arm.com>
      8186e150
    • Matt Arsenault's avatar
      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" · 1f283a60
      Matt Arsenault authored
      This reverts commit 9e50c6e6. A few assertion and verifier
      errors have been fixed in the coalescer and allocator, so hopefully this sticks this time.
      1f283a60
  2. Dec 06, 2023