[all-commits] [llvm/llvm-project] 3369e3: [NFC][AArch64] fix whitespace in AArch64SchedNeove...

Fangrui Song via All-commits all-commits at lists.llvm.org
Thu Feb 15 00:23:46 PST 2024


  Branch: refs/heads/users/MaskRay/spr/asan-isinterestingalloca-remove-the-isallocapromotable-condition
  Home:   https://github.com/llvm/llvm-project
  Commit: 3369e341288b3d9bb59827f9a2911ebf3d36408d
      https://github.com/llvm/llvm-project/commit/3369e341288b3d9bb59827f9a2911ebf3d36408d
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td

  Log Message:
  -----------
  [NFC][AArch64] fix whitespace in AArch64SchedNeoverseV1 (#81744)

One of the whitespace fixes didn't get added to the commit introducing
the Ampere1B model.
Clean it up.


  Commit: 4cd7616f6b13513bb13f2b6dd14d140a4c62c937
      https://github.com/llvm/llvm-project/commit/4cd7616f6b13513bb13f2b6dd14d140a4c62c937
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fixits for array args of func-ptr calls (#80358)

Currently we ignore calls on function pointers (unlike direct calls of
functions and class methods). This patch adds support for function pointers as
well.

The change is to simply replace use of forEachArgumentWithParam matcher in UPC
gadget with forEachArgumentWithParamType.

from the documentation of forEachArgumentWithParamType:
/// Matches all arguments and their respective types for a \c CallExpr or
/// \c CXXConstructExpr. It is very similar to \c forEachArgumentWithParam but
/// it works on calls through function pointers as well.

Currently the matcher also uses hasPointerType() which checks that the
canonical type of an argument is pointer and won't match on arrays decayed to
pointer. Replacing hasPointerType() with isAnyPointerType() which allows
implicit casts allows for the arrays to be matched as well and this way we get
fixits for array arguments to function pointer calls too.


  Commit: 9a1e6373ab3edc38486af504154db2d804e72d3d
      https://github.com/llvm/llvm-project/commit/9a1e6373ab3edc38486af504154db2d804e72d3d
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Ignore constant safe indices in array subscripts (#80504)

[-Wunsafe-buffer-usage] Ignore safe array subscripts
Don't emit warnings for array subscripts on constant size arrays where the index is constant and within bounds.

Example:
int arr[10];
arr[5] = 0; //safe, no warning

This patch recognizes only array indices that are integer literals - it doesn't understand more complex expressions (arithmetic on constants, etc.).

-Warray-bounds implemented in Sema::CheckArrayAccess() already solves a similar
(opposite) problem, handles complex expressions and is battle-tested.

Adding -Wunsafe-buffer-usage diagnostics to Sema is a non-starter as we need to emit
both the warnings and fixits and the performance impact of the fixit machine is
unacceptable for Sema.

CheckArrayAccess() as is doesn't distinguish between "safe" and "unknown" array
accesses. It also mixes the analysis that decides if an index is out of bounds
with crafting the diagnostics.

A refactor of CheckArrayAccess() might serve both the original purpose
and help us avoid false-positive with -Wunsafe-buffer-usage on constant
size arrrays.


  Commit: 8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
      https://github.com/llvm/llvm-project/commit/8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp

  Log Message:
  -----------
  [clangd][test] Fix -Wmissing-field-initializers in DiagnosticsTests.cpp (NFC)

llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:921:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual1"), ""}}};
                                            ^
llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:926:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual2"), ""}}};
                                            ^
2 errors generated.


  Commit: ff409d39ce4673c70f474c3fdb7120bab8f94eef
      https://github.com/llvm/llvm-project/commit/ff409d39ce4673c70f474c3fdb7120bab8f94eef
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp

  Log Message:
  -----------
  [libc][math] Add C23 ldexpf128 math function and fix DyadicFloat conversions for subnormal ranges and 80-bit floating points. (#81780)


  Commit: a7982d5e7a16f681e80891a819bdf14dde928755
      https://github.com/llvm/llvm-project/commit/a7982d5e7a16f681e80891a819bdf14dde928755
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] UncountedCallArgsChecker: Detect & ignore trivial function calls. (#81808)

This PR introduces the concept of a "trivial function" which applies to
a function that only calls other trivial functions and contain literals
and expressions that don't result in heap mutations (specifically it
does not call deref). This is implemented using ConstStmtVisitor and
checking each statement and expression's trivialness.

This PR also introduces the concept of a "ingleton function", which is a
static member function or a free standing function which ends with the
suffix "singleton". Such a function's return value is understood to be
safe to call any function with.


  Commit: 6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
      https://github.com/llvm/llvm-project/commit/6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add fixits for array to pointer assignment (#81343)

Introducing CArrayToPtrAssignment gadget and implementing fixits for some cases
of array being assigned to pointer.

Key observations:
- const size array can be assigned to std::span and bounds are propagated
- const size array can't be on LHS of assignment
This means array to pointer assignment has no strategy implications.

Fixits are implemented for cases where one of the variables in the assignment is
safe. For assignment of a safe array to unsafe pointer we know that the RHS will
never be transformed since it's safe and can immediately emit the optimal fixit.
Similarly for assignment of unsafe array to safe pointer.
(Obviously this is not and can't be future-proof in regards to what
variables we consider unsafe and that is fine.)

Fixits for assignment from unsafe array to unsafe pointer (from Array to Span
strategy) are not implemented in this patch as that needs to be properly designed
first - we might possibly implement optimal fixits for partially transformed
cases, put both variables in a single fixit group or do something else.


  Commit: dcbb574cfc3445251ff1c751f27b52ed6503bead
      https://github.com/llvm/llvm-project/commit/dcbb574cfc3445251ff1c751f27b52ed6503bead
  Author: Brianna Fan <bfan2 at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/test/Analysis/scan-build/html_output.test
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js

  Log Message:
  -----------
  [analyzer] Teach scan-build to filter reports by file.

That's a new GUI bell-and-whistle in the index.html page.


  Commit: de6fad51462bd0784beafef6fd171ad7725205b5
      https://github.com/llvm/llvm-project/commit/de6fad51462bd0784beafef6fd171ad7725205b5
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  [TableGen][NFCI] Simplify TypeSetByHwMode::intersect and make extensible (#81688)

The current implementation considers both iPTR+iN and everything else
all in one go, which leads to more special casing when iPTR is present
in only one set than is described in the comment block. Moreover this
makes it very difficult to add any new iPTR-like wildcards due to the
exponential combinatorial explosion that occurs.

Logically, iPTR+iN handling is entirely independent from everything
else, so rewrite the code to do them separately. This removes special
cases, making the core of the implementation more succinct, whilst more
clearly implementing exactly what is described in the comment block, and
allows for any number of (non-overlapping) wildcards to be added to the
list, as needed by CHERI LLVM downstream (due to having a new capability
type which, much like a normal integer pointer in LLVM, varies in size
between targets and modes).

In testing, this change results in identical TableGen output for all
in-tree backends (including those in LLVM_ALL_EXPERIMENTAL_TARGETS), and
it is intended that this implementation is entirely equivalent to the
old one.


  Commit: d821650e13145a1acccd337c9853354ad6531507
      https://github.com/llvm/llvm-project/commit/d821650e13145a1acccd337c9853354ad6531507
  Author: rmarker <37921131+rmarker at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp

  Log Message:
  -----------
  [clang-format][NFC] Drop "Always" in "AlwaysBreakAfterReturnType". (#81591)

Complete the switch from "AlwaysBreakAfterReturnType" to
"BreakAfterReturnType".


  Commit: fa9e297b8b63dacb962d99814e698658ad71f946
      https://github.com/llvm/llvm-project/commit/fa9e297b8b63dacb962d99814e698658ad71f946
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp

  Log Message:
  -----------
  [ClangPackager] Fix passing in multiple instances of `file`

Summary:
This is necessary because CMake build tools might need to generate
several files but are unable to put them in separate images. This patch
sipmly moves the file handling out into a separate split iterator.


  Commit: fc0b67e1d79d1f199687f8f06d619984d9520230
      https://github.com/llvm/llvm-project/commit/fc0b67e1d79d1f199687f8f06d619984d9520230
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll

  Log Message:
  -----------
  [RISCV] Add cost model tests for llvm.vector.{insert,extract}. NFC

For llvm.vector.extract, this tests combinations of inserting at a zero and
non-zero index, and extracting from a fixed or scalable vector.

For llvm.vector.insert, this tests the same combinations as extracts but with
an additional configuration for an undef vector. This is because we can use a
subregister insert if the index is 0 and the vector is undef, which should be
free.


  Commit: 4b5c21aa07fc6ba477109ec8b83395071ae49e23
      https://github.com/llvm/llvm-project/commit/4b5c21aa07fc6ba477109ec8b83395071ae49e23
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc][fix] Fix new test that crashes the NVPTX backend


  Commit: bfe302c58321abd79a5db7e805ef4b4db24df820
      https://github.com/llvm/llvm-project/commit/bfe302c58321abd79a5db7e805ef4b4db24df820
  Author: Qfrost <root at qfrost.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [clang][X86] X86::LAR X86::LSL add_implicate eflags (#80993)

[@xia0ji233](https://github.com/xia0ji233) and I found that X86::LAR and
X86::lSR implicit use eflags register. However, it was not been defined
in LLVM, which means we will get wrong alive-result if we use these two
instructions.
![T~
_81W6A}J}{AP{DF%E}KY](https://github.com/llvm/llvm-project/assets/58380176/b84e758b-2978-49e7-a11c-726fd66e1976)


  Commit: d53515afef57a3abf84daff169fbc7626a306817
      https://github.com/llvm/llvm-project/commit/d53515afef57a3abf84daff169fbc7626a306817
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix variadic member functions

For variadic member functions, the way we calculated the instance
pointer and RVO pointer offsts on the stack was incorrect, due
to Func->getArgSize() not returning the full size of all the
passed arguments. When calling variadic functions, we need
to pass the size of the passed (variadic) arguments to the Call*
ops, so they can use that information to properly check the
instance pointer, etc.

This patch adds a bit of code duplication in Interp.h, which I
will get rid of in later cleanup NFC patches.


  Commit: 562790f371f230d8f67a1a8fb4b54e02e8d1e31f
      https://github.com/llvm/llvm-project/commit/562790f371f230d8f67a1a8fb4b54e02e8d1e31f
  Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Implement vertex enumeration and chamber decomposition for polytope generating function computation. (#78987)

We implement a function to compute the generating function corresponding
to a full-dimensional parametric polytope whose tangent cones are all
unimodular.
We fix a bug in unimodGenFunc to check the absolute value of the index.
We also implement Matrix<T>::negateMatrix() and Matrix<T>::scaleRow for
convenience.


  Commit: 6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
      https://github.com/llvm/llvm-project/commit/6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp

  Log Message:
  -----------
  [clang-format][NFC] Sort options in Format.cpp


  Commit: 94f51649c4a574f88fd9b8a2d0a05b334c0bd490
      https://github.com/llvm/llvm-project/commit/94f51649c4a574f88fd9b8a2d0a05b334c0bd490
  Author: riChar <wxsychi at 163.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [LLVM][X86] Add EFLAGS Defs for VERR/VERW instructions (#81824)

VERR/VERW instructions will define ZF flag.


  Commit: 6c74a6f6f4f01500f9deabadc7673b4935643928
      https://github.com/llvm/llvm-project/commit/6c74a6f6f4f01500f9deabadc7673b4935643928
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  Revert "[lldb-dap] Add support for data breakpoint. (#81541)" (#81812)

This reverts commit 8c56e78ec531f0e2460213c20fff869b6b7add99.

Reverting to address the LLDB test failure in ARM64.


  Commit: b200dfc15904f0f7f19443fd5a399242c80213dc
      https://github.com/llvm/llvm-project/commit/b200dfc15904f0f7f19443fd5a399242c80213dc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix calling invalid function pointers

Checking for isConstexpr() is wrong; we need to (try to) call
the function and let later code diagnose the failure accordingly.


  Commit: b93916c9798ea09488e30b9b0aae9e54ef0b1956
      https://github.com/llvm/llvm-project/commit/b93916c9798ea09488e30b9b0aae9e54ef0b1956
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test to verify=expected,both style


  Commit: 36adfec155de366d722f2bac8ff9162289dcf06c
      https://github.com/llvm/llvm-project/commit/36adfec155de366d722f2bac8ff9162289dcf06c
  Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/autocomplete.c
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  Adding support of AMDLIBM vector library (#78560)

Hi,

AMD has it's own implementation of vector calls. This patch include the
changes to enable the use of AMD's math library using -fveclib=AMDLIBM.
Please refer https://github.com/amd/aocl-libm-ose 

---------

Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>


  Commit: ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
      https://github.com/llvm/llvm-project/commit/ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Let MCDCConditionID int16_t with zero-origin (#81257)

Also, Let `NumConditions` `uint16_t`.

It is smarter to handle the ID as signed.
Narrowing to `int16_t` will reduce costs of handling byvalue. (See also
#81221 and #81227)

External behavior doesn't change. They below handle values as internal
values plus 1.
* `-dump-coverage-mapping`
* `CoverageMappingReader.cpp`
* `CoverageMappingWriter.cpp`


  Commit: 28d4385020920ec5f54ef3de4e69f3649d417d81
      https://github.com/llvm/llvm-project/commit/28d4385020920ec5f54ef3de4e69f3649d417d81
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [bazel][libc] Fix BUILD after ff409d39ce4673c70f474c3fdb7120bab8f94eef.


  Commit: 5f6e0f35f936495563b5758a7ff9d4417a9f651b
      https://github.com/llvm/llvm-project/commit/5f6e0f35f936495563b5758a7ff9d4417a9f651b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/runtime/assign.cpp
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang][runtime] Destroy nested allocatable components (#81117)

The runtime was currently only deallocating the direct allocatable
components, which caused leaks when there are allocatable components
nested in the direct components.

Update Destroy to recursively destroy components.

Also call Destroy from Assign to deallocate nested allocatable
components before doing the assignment as required by F2018 9.7.3.2
point 7.

This lack of deallocation was visible if the nested components had user
defined assignment "observing" the allocation state.


  Commit: b1d4f996898becb1867dd2647cf2728bd44170e3
      https://github.com/llvm/llvm-project/commit/b1d4f996898becb1867dd2647cf2728bd44170e3
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/Driver/autocomplete.c
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M flang/runtime/assign.cpp
    M flang/runtime/derived.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/X86/X86InstrSystem.td
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


  Commit: ead3073897a291c909129494ee3f3a0526faf6e8
      https://github.com/llvm/llvm-project/commit/ead3073897a291c909129494ee3f3a0526faf6e8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/Driver/autocomplete.c
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M flang/runtime/assign.cpp
    M flang/runtime/derived.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/X86/X86InstrSystem.td
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  remove ClInstrumentUninterestingAllocas. this essentially restores the original version of this PR

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/46d21cd0327e...ead3073897a2


More information about the All-commits mailing list