[all-commits] [llvm/llvm-project] 657dbc: [RISCV] Reorder shuffle operands if one side is an...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Jul 11 18:22:54 PDT 2024
Branch: refs/heads/users/MaskRay/spr/nsan-add-nsan_preinitcpp-and-make-it-static-library-only
Home: https://github.com/llvm/llvm-project
Commit: 657dbc3febb92d8e675b601d127b071c5ba61028
https://github.com/llvm/llvm-project/commit/657dbc3febb92d8e675b601d127b071c5ba61028
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Reorder shuffle operands if one side is an identity (#98534)
Doing so allows one side to fold entirely into the mask applied to the
other recursive call (or a vmerge.vv at worst). This is a generalization
of the existing IsSelect case (both operands are selects), so I removed
that code in the process.
This actually started as an attempt to remove the IsSelect bit as I'd
thought it was fully redundant
with the recursive formulation, but digging into test deltas revealed
that we depended on that
to catch the majority of the identity cases, and that in turn we were
missing some cases where only RHS was an identity.
Commit: c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
https://github.com/llvm/llvm-project/commit/c9a4a27b9e490aff8d6ec21e55b22af0c882adb6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/safestack/CMakeLists.txt
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
Log Message:
-----------
Revert "[safestack] Various Solaris fixes" (#98541)
Reverts llvm/llvm-project#98469
We can't add this dependency
```
OBJECT_LIBS RTSanitizerCommon
RTSanitizerCommonLibc
```
safestack is security hardening, and RTSanitizerCommon is too fat for
that.
Commit: 65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
https://github.com/llvm/llvm-project/commit/65987954d9903e4fa3dfbf1ccac9d942d4af1fbb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/modfile65.f90
Log Message:
-----------
[flang] Add -fhermetic-module-files (#98083)
Module files emitted by this Fortran compiler are valid Fortran source
files. Symbols that are USE-associated into modules are represented in
their module files with USE statements and special comments with hash
codes in them to ensure that those USE statements resolve to the same
modules that were used to build the module when its module file was
generated.
This scheme prevents unchecked module file growth in large applications
by not emitting USE-associated symbols redundantly. This problem can be
especially bad when derived type definitions must be repeated in the
module files of their clients, and the clients of those modules, and so
on. However, this scheme has the disadvantage that clients of modules
must be compiled with dependent modules in the module search path.
This new -fhermetic-module-files option causes module file output to be
free of dependences on any non-intrinsic module files; dependent modules
are instead emitted as part of the module file, rather than being
USE-associated. It is intended for top level library module files that
are shipped with binary libraries when it is not convenient to collect
and ship their dependent module files as well.
Fixes https://github.com/llvm/llvm-project/issues/97398.
Commit: 7a49d80f587eff76d29d1770b1e90e9e13bc5759
https://github.com/llvm/llvm-project/commit/7a49d80f587eff76d29d1770b1e90e9e13bc5759
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
Log Message:
-----------
[VPlan] Skip users outside loop in check for exit pre-compute candidates
When collecting candidates to pre-compute cost for operands of exit
conditions, skip users outside the loop when checking if they are in
ExistInstrs. The users outside the loop should be ignored, as they won't
make a value live in the VPlan.
This fixes a failure when building for X86 with sanitizers on macOS
after b841e2eca3b5c
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/287/)
Commit: 8901c1c2801018ec3efa042a3acc8bada7b790e3
https://github.com/llvm/llvm-project/commit/8901c1c2801018ec3efa042a3acc8bada7b790e3
Author: Michael Jones <michaelrj at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/stdlib/CMakeLists.txt
Log Message:
-----------
[libc] Fix atexit not getting linked on linux (#98537)
Atexit needs to be linked into exit on linux since atexit defines
__cxa_finalize. This should probably be fixed a different way but this
works for now.
Commit: 92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
https://github.com/llvm/llvm-project/commit/92fc1eb0c1ae3813f2ac9208e2c74207aae9d23f
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
A clang/test/CodeGenHLSL/loops/unroll.hlsl
A clang/test/SemaHLSL/Loops/unroll.hlsl
Log Message:
-----------
[HLSL] add loop unroll (#93879)
spec: https://github.com/microsoft/hlsl-specs/pull/263
- `Attr.td` - Define the HLSL loop attribute hints (unroll and loop)
- `AttrDocs.td` - Add documentation for unroll and loop
- `CGLoopInfo.cpp` - Add codegen for HLSL unroll that maps to clang
unroll expectations
- `ParseStmt.cpp` - For statements if HLSL define DeclSpecAttrs via
MaybeParseMicrosoftAttributes
- `SemaStmtAttr.cpp` - Add the HLSL loop unroll handeling
resolves #70114
dxc examples:
- for loop: https://hlsl.godbolt.org/z/8EK6Pa139
- while loop: https://hlsl.godbolt.org/z/ebr5MvEcK
- do while: https://hlsl.godbolt.org/z/be8cedoTs
Documentation:
![Screenshot_20240531_143000](https://github.com/llvm/llvm-project/assets/1802579/9da9df9b-68a6-49eb-9d4f-e080aa2eff7f)
Commit: cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
https://github.com/llvm/llvm-project/commit/cfeb8f20b3830f88fd1cd95fe4a2426f5f885450
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/test/Lower/Intrinsics/atan_real16.f90
Log Message:
-----------
[flang] Fix broken atan_real16 test (#98499)
The names in the `end function` were incorrect. Those have been removed.
Commit: 6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
https://github.com/llvm/llvm-project/commit/6cbea4880ea957aaa4f1ecc8dd49d60bc55ed723
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/include/llvm-libc-macros/math-macros.h
Log Message:
-----------
[libc] Define `HUGE_VALF` in math.h (#98522)
This is analogous to `HUGE_VAL`.
Commit: 53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
https://github.com/llvm/llvm-project/commit/53cc24d70d40c1b1ccc00ef2525c4006c8f4bdde
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/src/__support/macros/config.h
Log Message:
-----------
[libc] Disable hidden visibility for LIBC_NAMESPACE with GCC (#98549)
GCC emits a warning when using the visibility attribute which needs to
be diagnosed and addressed, but this change should unbreak the GCC build
as a temporary workaround.
The issue is tracked as #98548.
Commit: 7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
https://github.com/llvm/llvm-project/commit/7d6a6e6dc92ce9200cdf26b756e9c9a0dbb2a469
Author: Petr Hosek <phosek at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/test/src/math/performance_testing/CMakeLists.txt
Log Message:
-----------
[libc] Add missing dependency on `src.__support.macros.config` (#98552)
We automatically inject this dependency into all object libraries that
use the libc CMake functions, but `libc_diff_test_utils` uses `add_library`
so we need to add this dependency manually.
Commit: 6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
https://github.com/llvm/llvm-project/commit/6bc6f6b0fa8724ac2e6d9d025084a393d4d15694
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/test/ELF/basic-sparcv9.s
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/test/MC/ELF/osabi.s
Log Message:
-----------
[MC] set OpenBSD's ELFOSABI by default (#98158) (#98553)
This matches what is done for FreeBSD.
OpenBSD has a few special program header types, and other such ELF
extensions. Setting the ELFOSABI like so will allow LLD to support them
without needlessly impacting non-OpenBSD ELFs.
Testing strategy matches 06cecdc60ec9ebfdd4d8cdb2586d201272bdf6bd.
Take two of #98158 / b64c1de714c50bec7493530446ebf5e540d5f96a, which was
reverted in #98494 / c0261351136e4a826be697e5ebb5fa638abe7485.
Preexisting test is fixed now.
Commit: 280d82e8ad7ee8c6600772ace5345b26f2da8bc0
https://github.com/llvm/llvm-project/commit/280d82e8ad7ee8c6600772ace5345b26f2da8bc0
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/test/ELF/basic-sparcv9.s
Log Message:
-----------
Small fix of `lld/test/ELF/basic-sparcv9.s` (#98555)
I made a mistake in https://github.com/llvm/llvm-project/pull/98553.
Sorry.
Commit: 9c1861bd5de0174fded95ea76c46ad7c7175af8b
https://github.com/llvm/llvm-project/commit/9c1861bd5de0174fded95ea76c46ad7c7175af8b
Author: Pranav Kant <prka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][NFC] Remove unused includes (#98557)
Adding dep to TosaDialect increases binary size unnecessarily
Commit: d0d05aec3b6792136a9f75eb85dd2ea66005ae12
https://github.com/llvm/llvm-project/commit/d0d05aec3b6792136a9f75eb85dd2ea66005ae12
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
M llvm/test/CodeGen/ARM/exp10-libcall-names.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
Log Message:
-----------
[Darwin] Fix availability of exp10 for watchOS, tvOS, xROS. (#98542)
Update availability information added in 1eb7f055d9a. exp10 is available
on iOS >= 7.0 and macOS >= 10.9. On all other platforms, it is available
on any version. Also drop the x86 check, as the availability only
depends on the OS version, not the target platform.
PR: https://github.com/llvm/llvm-project/pull/98542
Commit: ac304d5ffdea7676582e987f75caeba33355a5dd
https://github.com/llvm/llvm-project/commit/ac304d5ffdea7676582e987f75caeba33355a5dd
Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/expected_output/test_header.h
M libc/newhdrgen/tests/input/test_small.yaml
Log Message:
-----------
[libc] newheadergen: quick fixes to tests (#98561)
- if there is an object made there is a space after
- fixed tests.yaml -- spacing between characters issue
Commit: ce4aada6e2135e29839f672a6599db628b53295d
https://github.com/llvm/llvm-project/commit/ce4aada6e2135e29839f672a6599db628b53295d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/temp/temp.names/p3-23.cpp
M clang/test/CXX/temp/temp.res/p3.cpp
M clang/test/FixIt/fixit.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/static-assert-cxx17.cpp
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M libcxx/include/regex
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (#98547)
Reapplies #92957, fixing an instance where the `template` keyword was
missing prior to a dependent name in `llvm/ADT/ArrayRef.h`. An
_alias-declaration_ is used to work around a bug affecting GCC releases
before 11.1 (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94799) which
rejects the use of the `template` keyword prior to the
_nested-name-specifier_ in the class member access.
Commit: 1cafde234865cdcd37311dcd77d3ef9a3e12f177
https://github.com/llvm/llvm-project/commit/1cafde234865cdcd37311dcd77d3ef9a3e12f177
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/lib/Headers/cpuid.h
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
Log Message:
-----------
[clang][X86] Add __cpuidex function to cpuid.h (#97785)
MSVC has a __cpuidex function implemented to call the underlying cpuid
instruction which accepts a leaf, subleaf, and data array that the
output data is written into. This patch adds this functionality into
clang under the cpuid.h header. This also makes clang match GCC's
behavior. GCC has had __cpuidex in its cpuid.h since 2020.
This is another attempt to land https://reviews.llvm.org/D158348.
Commit: 9f8205d9d8ddccd5c821c2a654805434706a43c2
https://github.com/llvm/llvm-project/commit/9f8205d9d8ddccd5c821c2a654805434706a43c2
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
Log Message:
-----------
[MemProf] Track and report profiled sizes through cloning (#98382)
If requested, via the -memprof-report-hinted-sizes option, track the
total profiled size of each MIB through the thin link, then report on
the corresponding allocation coldness after all cloning is complete.
To save size, a different bitcode record type is used for the allocation
info when the option is specified, and the sizes are kept separate from
the MIBs in the index.
Commit: 46307f1a84bf832f32938c8ad2dc0605441a5319
https://github.com/llvm/llvm-project/commit/46307f1a84bf832f32938c8ad2dc0605441a5319
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 90ccf21
Commit: 6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
https://github.com/llvm/llvm-project/commit/6c8ff4cbb8d6ba6ff168c9209cfd1a7279995b40
Author: Kazu Hirata <kazu at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[ProfileData] Take ArrayRef<InstrProfValueData> in addValueData (NFC) (#97363)
This patch fixes another place in ProfileData where we have a pointer
to an array of InstrProfValueData and its length separately.
addValueData is a bit unique in that it remaps incoming values in
place before adding them to ValueSites. AFAICT, no caller of
addValueData uses updated incoming values. With this patch, we add
value data to ValueSites first and then remaps values there. This
way, we can take ArrayRef<InstrProfValueData> as a parameter.
Commit: 1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
https://github.com/llvm/llvm-project/commit/1988c27e5f4dbcf42c9a80f44bdee7ccd208a0ac
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
Log Message:
-----------
[lldb] [NFC] Update TestEarlyProcessLaunch to work on macOS 15
This test sets a breakpoint on malloc, as a way to stop early in
dyld's setting up code, before the system libraries are initialized
so we can confirm that we don't fetch the Objective-C class table
before it's initialized.
In macOS 15 (macOS Sonoma), dyld doesn't call malloc any longer,
so this heuristic/trick isn't working. It does call other things
called *alloc though, so I'm changing this to use a regex breakpoint
on that, to keep the test working.
Commit: 9b6504e98359f5d14fdaa353b2789e7e95239f96
https://github.com/llvm/llvm-project/commit/9b6504e98359f5d14fdaa353b2789e7e95239f96
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Make sure to issue freemem for the allocated temp (#98078)
When implicit data transfer is created, make sure we generate the
`freemem` op on the `allocmem` result value and not the declare op
value.
Commit: e57d7dae6f28af513a17a5d6813399f04245e9e1
https://github.com/llvm/llvm-project/commit/e57d7dae6f28af513a17a5d6813399f04245e9e1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
Log Message:
-----------
[SLP][NFC]Add a test with minnum/maxnum patterns, NFC.
Commit: ce2b28055330b37e67ece18bd42d13beb537955d
https://github.com/llvm/llvm-project/commit/ce2b28055330b37e67ece18bd42d13beb537955d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[BitcodeReader] Remove dead increment (#98412)
This was found by the Clang Static Analyzer.
Commit: db3d3378ba751337c12147d11367006f23becc0c
https://github.com/llvm/llvm-project/commit/db3d3378ba751337c12147d11367006f23becc0c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_linux.cpp
Log Message:
-----------
[NFC][hwasan] Print after protecting gaps
PrintAddressSpaceLayout can accidentally
mmap into the gap.
Commit: cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
https://github.com/llvm/llvm-project/commit/cdd29f5bd2f5e55ae116be1a912f0b036d7c98e7
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-tlsdesc.s
Log Message:
-----------
[ELF,RISCV] Fix TLSDESC=>IE when there is no TLS section
See the comment in handleTlsRelocation. For TLSDESC=>IE (the TLS symbol
is defined in another DSO), R_RISCV_TLSDESC_{LOAD_LO12,ADD_LO12_I,CALL}
referencing a non-preemptible label uses the `R_RELAX_TLS_GD_TO_LE` code
path.
If there is no TLS section, `getTlsTpOffset` will be called with null
`Out::tlsPhdr`, leading to a null pointer dereference. Since the return
value is used by `RISCV::relocateAlloc` and ignored there, just return
0.
LoongArch TLSDESC doesn't use STT_NOTYPE labels. The `if (..) return 0;`
is a no-op for LoongArch.
This patch is a follow-up to #79239 and fixes some comments.
Pull Request: https://github.com/llvm/llvm-project/pull/98569
Commit: 941f794e492bddf82b01dd4b0cb3475a67dc3b1f
https://github.com/llvm/llvm-project/commit/941f794e492bddf82b01dd4b0cb3475a67dc3b1f
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
Log Message:
-----------
[AArch64][PAC] Reduce the size of synchronous CFI (#96377)
For synchronous unwind tables, the call frame information can be
slightly reduced by bundling the `.cfi_negate_ra_state` instruction with
other CFI instructions in the prolog, saving 1 byte per function used
for `DW_CFA_advance_loc`.
This was suggested in
[D156428](https://reviews.llvm.org/D156428#4554317).
Commit: 1bafe77d773e6cb32243fabbef2c71b4516896fb
https://github.com/llvm/llvm-project/commit/1bafe77d773e6cb32243fabbef2c71b4516896fb
Author: Allen <zhongyunde at huawei.com>
Date: 2024-07-12 (Fri, 12 Jul 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/sdivpow2.ll
Log Message:
-----------
[AArch64] Improve the codegen for sdiv 2 (#98324)
Same as X86, , if X's size is BitWidth, then X sdiv 2 can be
expressived as
```
X += X >> (BitWidth - 1)
X = X >> 1
```
Fix https://github.com/llvm/llvm-project/issues/97884
Commit: 324a1f95c0729866103795c59ed33fc42c9e3731
https://github.com/llvm/llvm-project/commit/324a1f95c0729866103795c59ed33fc42c9e3731
Author: Fangrui Song <i at maskray.me>
Date: 2024-07-11 (Thu, 11 Jul 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/UnresolvedSet.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Headers/cpuid.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1-cxx11.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.classref/p1.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3-example3.cpp
A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p3.cpp
M clang/test/CXX/class.derived/class.member.lookup/p8.cpp
M clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/temp/temp.names/p3-23.cpp
M clang/test/CXX/temp/temp.res/p3.cpp
A clang/test/CodeGenHLSL/loops/unroll.hlsl
M clang/test/FixIt/fixit.cpp
A clang/test/Headers/__cpuidex_conflict.c
M clang/test/Headers/cpuid.c
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx2a-concepts-requires-expr.cpp
M clang/test/SemaCXX/cxx0x-noexcept-expression.cpp
M clang/test/SemaCXX/pseudo-destructors.cpp
M clang/test/SemaCXX/static-assert-cxx17.cpp
A clang/test/SemaHLSL/Loops/unroll.hlsl
M clang/test/SemaTemplate/dependent-base-classes.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/hwasan/hwasan_linux.cpp
M compiler-rt/lib/safestack/CMakeLists.txt
M compiler-rt/lib/safestack/safestack.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/test/safestack/lit.cfg.py
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/semantics.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/Intrinsics/atan_real16.f90
A flang/test/Semantics/modfile65.f90
M libc/include/llvm-libc-macros/math-macros.h
M libc/newhdrgen/header.py
M libc/newhdrgen/tests/expected_output/test_header.h
M libc/newhdrgen/tests/input/test_small.yaml
M libc/src/__support/macros/config.h
M libc/src/stdlib/CMakeLists.txt
M libc/test/src/math/performance_testing/CMakeLists.txt
M libcxx/include/regex
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/test/ELF/basic-sparcv9.s
M lld/test/ELF/riscv-tlsdesc.s
M lldb/test/API/macosx/early-process-launch/TestEarlyProcessLaunch.py
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Bitcode/summary_version.ll
M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
M llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sdivpow2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/ARM/exp10-libcall-names.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/X86/exp10-libcall-names.ll
M llvm/test/MC/ELF/osabi.s
M llvm/test/ThinLTO/X86/memprof-basic.ll
A llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/2751417259f2...324a1f95c072
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list