LLVM/project 1bc3133flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/lib/Utils OpenMP.cpp

[Flang][MLIR][OpenMP] Add distinct var_ptr_ptr_type to omp.map.info operations

This is a precursor patch to attach and ref_ptr/ptee mapping that I intend to upstream
over the next few weeks. The attach maps require both the type of the descriptor and
the pointed to data to calculate the appropriate offload/base pointers and size. In
the base case of ref_ptr_ptee all of this information can be gathered from the pointer
and pointee maps, but in cases where we have only one (i.e. ref_ptr/ref_ptee) we will
be missing one of the key elements required to create an corresponding attach map.

So, this PR basically adds the ability to ferry around the type of both var_ptr and
var_ptr_ptr as opposed to just var_ptr, then we can emit attach maps as seperate
map.info's that carry all the pre-requisite informaion for lowering to LLVM-IR. But,
otherwise it seems reasonable to have var_ptr_ptr mirror var_ptr in all aspects for
consistency.
DeltaFile
+25-16flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+18-11mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+18-11flang/lib/Utils/OpenMP.cpp
+14-14flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
+19-5mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+11-11flang/test/Transforms/omp-map-info-finalization.fir
+105-6837 files not shown
+192-14943 files

LLVM/project 42a6ca2flang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP attach-and-ref-modifier.f90

[Flang][OpenMP][MLIR] Add attach and ref map type lowering to MLIR

This doesn't implement the functionality, just the relevant map type
lowering to MLIR's omp.map.info. The more complicated changes to
MapInfoFinalizationPass.cpp and OpenMPTOLLVMIRTranslation.cpp to support
attach map and the various ref/attach semantics will come in a subsequent
set of PRs. This just helps compartmentalize the changeset.
DeltaFile
+63-0flang/test/Lower/OpenMP/attach-and-ref-modifier.f90
+29-2flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+0-9flang/test/Lower/OpenMP/Todo/attach-modifier.f90
+92-113 files

LLVM/project d7d4786clang/www cxx_status.html

[NFC][clang] Mark P3034R1 as implemented (#177150)

Mark [P1857R3 Modules Dependency Discovery](https://wg21.link/p1857r3)
as implemented.
This paper was implemented in
https://github.com/llvm/llvm-project/pull/173789.

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+1-1clang/www/cxx_status.html
+1-11 files

LLVM/project e98c327llvm/lib/Transforms/Vectorize VPlan.cpp, llvm/test/Transforms/LoopVectorize exact.ll tripcount.ll

capture weights
DeltaFile
+31-7llvm/lib/Transforms/Vectorize/VPlan.cpp
+30-3llvm/test/Transforms/LoopVectorize/exact.ll
+9-6llvm/test/Transforms/LoopVectorize/tripcount.ll
+70-163 files

LLVM/project 6149895orc-rt/unittests bit-test.cpp

[orc-rt] Actually test orc-rt/bit.h functions. (#177300)

The unit test was copied from a similar test in llvm, and was still
qualifying calls with 'llvm::'. This was unintended, but happened to
work because LLVM's bit.h is transitively included through LLVM's gtest
headers. Qualifying with 'orc_rt::' tests the intended functions.

Thanks to @jaredwy for spotting this!
DeltaFile
+46-46orc-rt/unittests/bit-test.cpp
+46-461 files

LLVM/project 1869b15lld/ELF MarkLive.cpp, lld/test/ELF why-live.test

[ELF] --why-live: Skip symbol at index 0 and section symbols, handle .eh_frame symbols (#177099)

Symbols of empty names can be matched by `--why-live='*'`, which are
generally not useful.

* The first entry in a symbol table (STB_LOCAL and undefined)
* `STT_SECTION` symbols (emitted by LLVM integrated assembler when
  needed by relocations). These input section symbols will be demoted by
  `demoteAndCopyLocalSymbols`, so technically not really live.
  In addition, such symbols of non-allocable sections currently lead to
  crashes: `whyLive` does not record the section, causing the second
  iteration of the `while (true)` loop in printWhyLive to call
  `std::get<Symbol *>(cur)` when `cur` is an `InputSectionBase *`.

In addition, handle GCC crtendS.o `__FRAME_END__`, which is defined
relative to a `.eh_frame` section created with
`__attribute__((used, section(".eh_frame")))`.

Fix #176890
DeltaFile
+44-0lld/test/ELF/why-live.test
+8-1lld/ELF/MarkLive.cpp
+52-12 files

LLVM/project b57dcffflang/lib/Optimizer/Transforms/CUDA CUFFunctionRewrite.cpp

[flang][cuda][NFC] Fix typo in header (#177299)

DeltaFile
+1-1flang/lib/Optimizer/Transforms/CUDA/CUFFunctionRewrite.cpp
+1-11 files

LLVM/project 564571fllvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp

Fix clang-format.
DeltaFile
+2-2llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+2-2llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+4-42 files

LLVM/project 8c8661elibcxx/include/__ranges subrange.h

[libc++][NFC] Reformat `subrange.h` (#177118)

As a pre-requisite to https://github.com/llvm/llvm-project/pull/176936
DeltaFile
+6-5libcxx/include/__ranges/subrange.h
+6-51 files

LLVM/project 503db98libcxx/include/__iterator wrap_iter.h

[libc++][NFC] Reformat `wrap_iter.h` (#177127)

As a pre-requisite to https://github.com/llvm/llvm-project/pull/172200
DeltaFile
+4-5libcxx/include/__iterator/wrap_iter.h
+4-51 files

LLVM/project f34d420llvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Set ADA section correctly.
DeltaFile
+8-9llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+12-3llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-2llvm/test/CodeGen/SystemZ/zos_sinit.ll
+1-2llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+23-164 files

LLVM/project cbf5db8llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp SystemZAsmPrinter.h

Remove ADASym.
DeltaFile
+5-5llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-2llvm/test/CodeGen/SystemZ/zos_sinit.ll
+0-4llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+1-2llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+8-134 files

LLVM/project 32a9da7llvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Remove separate ctor/dtor section functions and add getStaticXtorSection
DeltaFile
+4-5llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+1-6llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+2-4llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+7-153 files

LLVM/project f845141llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp

Address review comments regarding sections, unused parameter/unnecessary code changes.
DeltaFile
+4-10llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-5llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+6-152 files

LLVM/project 01ff140llvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/include/llvm/MC MCSectionGOFF.h

[SystemZ] Implement ctor/dtor emission via @@SQINIT and .xtor sections

This patch implements support for constructors/destructors by introducing the
@@SQINIT section and emitting .xtor.<priority> sections within the SystemZ
AsmPrinter and in the GOFF object lowering layer. Improvements to ADA descriptor
handling is also done within this change.
DeltaFile
+60-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+49-0llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+36-0llvm/test/CodeGen/SystemZ/zos_sinit.ll
+11-0llvm/include/llvm/MC/MCSectionGOFF.h
+4-1llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+4-0llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+164-11 files not shown
+165-17 files

LLVM/project 01f85f9llvm/include/llvm/MC MCSectionGOFF.h, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp

Update test, movove ADA symbol, fix call to target independent emitXXStructorList
DeltaFile
+7-5llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+0-11llvm/include/llvm/MC/MCSectionGOFF.h
+0-2llvm/test/CodeGen/SystemZ/zos_sinit.ll
+7-183 files

LLVM/project 2688b12llvm/utils/gn/secondary/clang/unittests/Serialization BUILD.gn

[gn build] Port 688b01ad529b
DeltaFile
+1-0llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
+1-01 files

LLVM/project 688b01aclang/include/clang/Serialization ASTWriter.h, clang/lib/Serialization ASTReader.cpp ASTWriter.cpp

[C++20][Modules] Improve namespace look-up performance for modules. (Attempt #2) (#177255)

DeltaFile
+247-0clang/unittests/Serialization/NamespaceLookupTest.cpp
+63-0clang/test/Modules/pr171769.cpp
+47-11clang/lib/Serialization/ASTReader.cpp
+36-5clang/lib/Serialization/ASTWriter.cpp
+10-28clang/lib/Serialization/ASTWriterDecl.cpp
+6-1clang/include/clang/Serialization/ASTWriter.h
+409-451 files not shown
+410-457 files

LLVM/project 9e7398cllvm/lib/Target/AMDGPU GCNSubtarget.h AMDGPU.td

[NFCI][AMDGPU] Remove more redundant code from `GCNSubtarget.h`
DeltaFile
+8-29llvm/lib/Target/AMDGPU/GCNSubtarget.h
+3-4llvm/lib/Target/AMDGPU/AMDGPU.td
+11-332 files

LLVM/project 11b9e5fllvm/lib/Analysis FunctionPropertiesAnalysis.cpp

Remove nomenclature clash in statistic pass with one of the stats (#177267)

Attribute TotalInstructionCount is used, but previously the name of the
stat printed out was "Total"+property, which made it look like
TotalTotalInstruction. Num does not provide such clashes in the
nomenclature.
DeltaFile
+4-6llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
+4-61 files

LLVM/project b857faellvm/lib/Target/AMDGPU GCNSubtarget.h

[NFC][AMDGPU] Remove stale/dangling comments
DeltaFile
+0-19llvm/lib/Target/AMDGPU/GCNSubtarget.h
+0-191 files

LLVM/project 53c237clld/COFF Driver.cpp MinGW.cpp

[lld][COFF] Use `.contains` rather than `.count` for set membership. NFC (#177067)

Also converted a couple of `std::set` to
`llvm::StringSet`/`llvm::SmallSet`.

This matches the usage in the other linker backends.

See #176610
DeltaFile
+8-7lld/COFF/Driver.cpp
+4-3lld/COFF/MinGW.cpp
+3-3lld/COFF/Config.h
+2-2lld/COFF/SymbolTable.cpp
+1-1lld/COFF/Writer.cpp
+18-165 files

LLVM/project 65369ecllvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Set ADA section correctly.
DeltaFile
+8-9llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+12-3llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+2-2llvm/test/CodeGen/SystemZ/zos_sinit.ll
+1-2llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+23-164 files

LLVM/project 00fecbccross-project-tests/dtlto signal.test archive.test

[DTLTO][NFC] Minor cleanups and improvements to DTLTO tests (#177282)

This change makes small, non-functional improvements to the DTLTO test
suite, including:
- Tightening+Regularizing FileCheck match expressions across tests
- Simplifying `signal.test` using more lit macro features
DeltaFile
+24-20cross-project-tests/dtlto/signal.test
+15-16cross-project-tests/dtlto/archive.test
+9-9cross-project-tests/dtlto/link-archive-thin.test
+8-8cross-project-tests/dtlto/archives-same-module-id.test
+5-3cross-project-tests/dtlto/archives-mixed-lto-modes-test.test
+61-565 files

LLVM/project 9335b6fllvm/lib/Target/AMDGPU AMDGPU.td GCNSubtarget.h

[NFC][AMDGPU] Remove unused `FeatureDisable`
DeltaFile
+0-6llvm/lib/Target/AMDGPU/AMDGPU.td
+0-3llvm/lib/Target/AMDGPU/GCNSubtarget.h
+0-92 files

LLVM/project 138910dllvm/include/llvm/IR Attributes.h, llvm/lib/IR Attributes.cpp

[IR] Support constructing `dead_on_return` without an argument (#177272)

After #171712, `dead_on_return` takes an optional argument indicating
the number of bytes known dead. The existing clang callsite uses the
attribute builder interface directly which supports the optional
argument through `DeadOnReturnInfo`. However, users constructing the
Attribute directly (e.g. `rustc`) were using `Attribute::get` which will
now default to providing a 0 value to the optional argument.

Add the additional method `Attribute::getWithDeadOnReturnInfo` to allow
users which produce explicit `Attribute` values to continue to indicate
`dead_on_return` without an argument.
DeltaFile
+5-0llvm/lib/IR/Attributes.cpp
+2-0llvm/include/llvm/IR/Attributes.h
+7-02 files

LLVM/project 24b8613llvm/lib/Target/M68k M68kCollapseMOVEMPass.cpp, llvm/test/CodeGen/M68k CollapseMOVEM.mir

[M68k] Fix MOVEM collapse pass for 2 instances of same register (#174349)

Add test case for MOVEM collapse opt pass failure and fix pass handling
of 2 appearances of the same register in a MOVEM block.
DeltaFile
+13-0llvm/test/CodeGen/M68k/CollapseMOVEM.mir
+5-0llvm/lib/Target/M68k/M68kCollapseMOVEMPass.cpp
+18-02 files

LLVM/project e81befaclang/cmake/caches VectorEngine.cmake

Remove abuse of OPENMP_STANDALONE_BUILD
DeltaFile
+0-8clang/cmake/caches/VectorEngine.cmake
+0-81 files

LLVM/project 48acfa9openmp/runtime/unittests CMakeLists.txt

Remove standalone gtest handling
DeltaFile
+1-20openmp/runtime/unittests/CMakeLists.txt
+1-201 files

LLVM/project 5bcfe6ecompiler-rt/lib/sanitizer_common/tests sanitizer_procmaps_mac_test.cpp

[Sanitizers] Remove unused variable (#177061)

Must've remained from debugging the test case.

rdar://119958411

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
DeltaFile
+0-1compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
+0-11 files