LLVM/project 2be726dllvm/test/DebugInfo/Generic dwarf5-debug-info-static-member.ll

[DebugInfo] Don't match wrong NULL in CHECK lines of dwarf5-debug-info-static-member.ll (#184694)

Fixes failure on clang-ppc64le-rhel buildbot
(https://lab.llvm.org/buildbot/#/builders/145/builds/13080) after
#184219.

On ppc64le, children are not produced for DW_TAG_subprogram "main" in
this test. Therefore, dwarfdump doesn't print NULL after this tag. On
other platforms (AArch64/X86), DW_TAG_subprogram has DW_TAG_variable
"instance_C", which should not be matched by the check lines.

Loosened the check lines (turned CHECK-NEXT into CHECK) to make them
work for all mentioned platforms.
DeltaFile
+4-5llvm/test/DebugInfo/Generic/dwarf5-debug-info-static-member.ll
+4-51 files

LLVM/project 89d1b4flibcxx/include string

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+21-28libcxx/include/string
+21-281 files

LLVM/project 5a88dffclang/test/CodeGen attr-target-version-riscv.c attr-target-clones-aarch64.c, clang/test/CodeGen/RISCV/ntlh-intrinsics riscv32-zihintntl.c

[Clang] Only define `wchar_size` module flag if non-standard (#184668)

Summary:
This PR simply changes the behavior of the `wchar_size` flag. Currently,
we emit this in all cases for all targets. This causes problems during
LLVM-IR linking, specifically because this would vary between Linux and
Windows in unintuitive ways. Now we have an llvm::Triple helper to
determine the size from the known values. The module flag will only be
emitted if these do not match (indicating a non-standard environment).

In addition to fixing AMDGCN bitcode linking, this also means we don't
need to bloat *every* IR module compiled by clang with this flag. The
changed tests reflects this, one less unnecessary piece of metadata.
DeltaFile
+175-175clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
+160-162clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
+63-63clang/test/CodeGen/attr-target-version-riscv.c
+61-54clang/test/CodeGen/attr-target-clones-aarch64.c
+55-55clang/test/CodeGen/attr-target-clones-riscv.c
+54-53clang/test/CodeGenCXX/attr-target-version-riscv.cpp
+568-56296 files not shown
+1,223-1,209102 files

LLVM/project 2714583llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 split-vectorize-phi-user.ll

[SLP]Do not consider split vectorize nodes as vector phi nodes

Split vectorize nodes should not be considered as vector PHI nodes, when
trying to find the insertion point for the postpotned nodes.

Fixes #184585
DeltaFile
+80-0llvm/test/Transforms/SLPVectorizer/X86/split-vectorize-phi-user.ll
+1-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+81-02 files

LLVM/project 9d1b621clang-tools-extra/clang-doc JSONGenerator.cpp MDGenerator.cpp, clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Sort index and avoid non-determinism (#184675)

Consolidate logic to get sorted children from  StringMap. 
Using the new API makes it more natural to not miss cases
where we missed sorting the children directly.

This also allows us to remove -DAG checks from tests and have
deterministic ordering.
DeltaFile
+7-10clang-tools-extra/clang-doc/JSONGenerator.cpp
+2-11clang-tools-extra/clang-doc/MDGenerator.cpp
+10-0clang-tools-extra/clang-doc/Representation.cpp
+4-5clang-tools-extra/test/clang-doc/namespace.cpp
+1-0clang-tools-extra/clang-doc/Representation.h
+24-265 files

LLVM/project 954e5e7clang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenModule.h, clang/test/CIR/CodeGen replace-global.cpp

[CIR] Upstream global variable replacement (#184686)

This change upstreams the CIR implementation of global variable
replacement. When we get a call to get or create a global variable using
a type that does not match the previous type for a variable of the same
name, we need to replace the old definition with the new one. In classic
codegen that was as simple as replaceAllUses+eraseFromParent, but in CIR
because we have typed pointers, we need to visit the uses and update
them with bitcasts to reflect the new type.
DeltaFile
+46-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+37-0clang/test/CIR/CodeGen/replace-global.cpp
+4-0clang/lib/CIR/CodeGen/CIRGenModule.h
+87-03 files

LLVM/project a433372clang/lib/CodeGen CGObjCMac.cpp

remove redundent assert
DeltaFile
+0-4clang/lib/CodeGen/CGObjCMac.cpp
+0-41 files

LLVM/project fa581d4clang-tools-extra/clang-doc JSONGenerator.cpp MDGenerator.cpp

Centralize sorting logic for StringMap members
DeltaFile
+7-11clang-tools-extra/clang-doc/JSONGenerator.cpp
+2-11clang-tools-extra/clang-doc/MDGenerator.cpp
+10-0clang-tools-extra/clang-doc/Representation.cpp
+1-0clang-tools-extra/clang-doc/Representation.h
+20-224 files

LLVM/project ca0d100llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Use VPlan::getZero to improve code (NFC) (#184591)

DeltaFile
+7-7llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+7-71 files

LLVM/project b3a1317llvm/lib/MC MCAsmInfoGOFF.cpp

Add include
DeltaFile
+1-0llvm/lib/MC/MCAsmInfoGOFF.cpp
+1-01 files

LLVM/project 6b33c5cllvm/lib/Target/SystemZ SystemZAsmPrinter.cpp

Add back spaces
DeltaFile
+1-1llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+1-11 files

LLVM/project ec15263lld/test/wasm weak-alias.ll weak-alias.s, lld/test/wasm/Inputs weak-alias.ll weak-alias.s

[lld][WebAssembly] Convert weak-alias tests to assembly. NFC (#184667)

This actually both improves and simplifies the `Inputs/weak_alias`. With
the `.ll` version we ended up using memory and `__stack_pointer` and
locals, but LLVM ended up generated `call` rather than `call_indirect`
for the `call_alias_ptr` and `call_direct_ptr`. With the assembly tests
we can ensure the usage of `call_indirect` while avoiding all the other
stuff.
DeltaFile
+0-303lld/test/wasm/weak-alias.ll
+268-0lld/test/wasm/weak-alias.s
+0-135lld/test/wasm/weak-alias-overide.ll
+131-0lld/test/wasm/weak-alias-overide.s
+0-39lld/test/wasm/Inputs/weak-alias.ll
+35-0lld/test/wasm/Inputs/weak-alias.s
+434-4776 files

LLVM/project 90c6e63clang-tools-extra/clang-tidy/readability ElseAfterReturnCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix readability-else-after-return for if statements appear in unbraced switch case labels (#181878)

Fixes #160033.
DeltaFile
+132-0clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return.cpp
+18-10clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+154-103 files

LLVM/project d8e86a5llvm/test/tools/dsymutil/AArch64 allow-disallow.test, llvm/tools/dsymutil dsymutil.cpp DebugMap.h

[dsymutil] Add option to filter debug map objects by allow/disallow-list (#182083)

# Motivation

When using `dsymutil` to generate dSYM for large binaries, sometimes we
want to keep only some of the object files. This has the benefits of
reduced dSYM size and improved performance of LLDB and other tools which
consume the dSYM.

The current way to achieve this is to use YAML input (the `dsymutil -y`
option). However, it doesn't really solve the problem:
1. The whole debug map has to be parsed somewhere else first, before
filtered down to the wanted parts.
2. Said info is written then read by `dsymutil`. The I/O is redundant.

# Change

This patch propose a new way, by adding new options (`dsymutil --allow
<path>` and `--disallow <path>`), which will only process object files

    [10 lines not shown]
DeltaFile
+105-0llvm/test/tools/dsymutil/AArch64/allow-disallow.test
+103-1llvm/tools/dsymutil/dsymutil.cpp
+55-8llvm/tools/dsymutil/DebugMap.h
+36-8llvm/tools/dsymutil/MachODebugMapParser.cpp
+27-3llvm/tools/dsymutil/DebugMap.cpp
+18-0llvm/tools/dsymutil/Options.td
+344-2010 files not shown
+377-2116 files

LLVM/project 8a4208fllvm/lib/MC MCAsmInfoGOFF.cpp, llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.cpp

Formatting changes
DeltaFile
+3-2llvm/lib/MC/MCAsmInfoGOFF.cpp
+2-2llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+5-42 files

LLVM/project b8113d0llvm/lib/Target/SystemZ/MCTargetDesc SystemZTargetStreamer.cpp

Remove unrelated changes
DeltaFile
+1-1llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
+1-11 files

LLVM/project f26ff8dlldb/source/Plugins/ObjectFile/ELF ObjectFileELF.cpp, lldb/test/API/linux/linker-symbols linker.script TestLinkerSymbols.py

[LLDB] Allow symbols added by linker scripts to be examined. (#184679)

Symbols added by linker scripts do not have debug information or types,
but they do have addresses. Sometimes users need to see the addresses of
these symbols. Currently these symbols end up being assigned
'eSymbolTypeInvalid', so any attempt to look at them fails. This fixes
that issue.
DeltaFile
+37-0lldb/test/API/linux/linker-symbols/linker.script
+36-0lldb/test/API/linux/linker-symbols/TestLinkerSymbols.py
+19-0lldb/test/API/linux/linker-symbols/main.cpp
+5-1lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+5-0lldb/test/API/linux/linker-symbols/Makefile
+102-15 files

LLVM/project 933e536llvm/test/DebugInfo/Generic cross-cu-linkonce-distinct.ll

[DebugInfo] Don't specify target triple for cross-cu-linkonce-distinct.ll (#184685)

Fixes buildbot failures after #184219.
Target triple line was added to this test in https://reviews.llvm.org/D144007, but it's needless.
DeltaFile
+0-1llvm/test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
+0-11 files

LLVM/project 3c3debalibclc CMakeLists.txt

libclc: Fix checking for arch including OS in wrong place
DeltaFile
+1-1libclc/CMakeLists.txt
+1-11 files

LLVM/project 4f86703llvm/include/llvm/MC MCSymbolGOFF.h, llvm/lib/MC MCGOFFStreamer.cpp

[GOFF] Set reference to ADA

Function symbols must have a reference to the ADA, because this becomes
the value of the r5 register when the function is called. Simply get the
value from the begin symbol of the section.
DeltaFile
+5-1llvm/lib/MC/MCGOFFStreamer.cpp
+2-1llvm/include/llvm/MC/MCSymbolGOFF.h
+1-1llvm/test/CodeGen/SystemZ/zos-section-1.ll
+8-33 files

LLVM/project c347da7llvm/lib/MC MCAsmInfoGOFF.cpp MCGOFFStreamer.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp

Make sure ADA is emitted for each function.
DeltaFile
+20-6llvm/lib/MC/MCAsmInfoGOFF.cpp
+7-5llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+7-3llvm/test/CodeGen/SystemZ/zos-symbol-1.ll
+10-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
+1-5llvm/lib/MC/MCGOFFStreamer.cpp
+4-1llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+49-204 files not shown
+54-2510 files

LLVM/project 583e1d5llvm/include/llvm/MC MCSymbolGOFF.h

Fix formatting.
DeltaFile
+1-1llvm/include/llvm/MC/MCSymbolGOFF.h
+1-11 files

LLVM/project 5859284llvm/lib/Transforms/Instrumentation MemProfUse.cpp, llvm/test/Transforms/PGOProfile memprof-dump-matched-call-sites.ll

[MemProf] Add stack IDs to MemProfUse optimization remarks (#184670)

This makes the remarks more equivalent for analysis to what we emit to
stderr under -memprof-print-match-info.
DeltaFile
+9-5llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
+2-2llvm/test/Transforms/PGOProfile/memprof-dump-matched-call-sites.ll
+11-72 files

LLVM/project 6c76e0alibclc CMakeLists.txt

libclc: Enable generic address space for amdgpu build

Based on the macros in clc_func.h, the generic address space
functions weren't being built. amdhsa triples assume flat address
space is available. If we really cared about preserving gfx6 on
mesa3d, we would need to split the build. But given that clover
was deleted, don't bother.
DeltaFile
+1-1libclc/CMakeLists.txt
+1-11 files

LLVM/project 5c08616llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/X86 known-pow2.ll

[DAG] isKnownToBeAPowerOfTwo - Power of 2 value is known to be power of 2 after BSWAP/BITREVERSE (#182207)

This is my first pr specifically for llvm
Fixes #181657
Allows the isKnownToBeAPowerOfTwo function to handle BSWAP and
BITREVERSE dag operations.
DeltaFile
+125-0llvm/test/CodeGen/X86/known-pow2.ll
+4-0llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+129-02 files

LLVM/project 28b8408clang/lib/Sema SemaDecl.cpp SemaHLSL.cpp, clang/test/CodeGenHLSL group_shared.hlsl

[HLSL] groupshared variables should be implicitly extern and should not be initialized (#184459)

Makes groupshared variables have extern storage class which prevents
them from being initialized if no initializer is provided. If one is
provided as below:
```
groupshared uint A = 1;
```
A warning, which is an error by default, is produced that says the
initializer is ignored and the variable is NOT initialized.
Closes #183602
DeltaFile
+15-4clang/test/CodeGenHLSL/group_shared.hlsl
+6-0clang/lib/Sema/SemaDecl.cpp
+5-0clang/lib/Sema/SemaHLSL.cpp
+2-0clang/test/ParserHLSL/group_shared.hlsl
+1-1clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
+2-0clang/test/ParserHLSL/group_shared_202x.hlsl
+31-51 files not shown
+33-57 files

LLVM/project f986523clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/test/CIR/CodeGen complex.cpp

[CIR] Fix Codegen for Complex & Scalar comparisons (#184006)

Fix Codegen for emitting comparisons between Complex & Scalar
DeltaFile
+192-0clang/test/CIR/CodeGen/complex.cpp
+13-2clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+205-22 files

LLVM/project 0040bedclang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Sort index and avoid non-determinism
DeltaFile
+4-5clang-tools-extra/test/clang-doc/namespace.cpp
+1-0clang-tools-extra/clang-doc/JSONGenerator.cpp
+5-52 files

LLVM/project ade43a5llvm/lib/Target/WebAssembly WebAssemblyInstrAtomics.td, llvm/lib/Target/WebAssembly/AsmParser WebAssemblyAsmParser.cpp

[WebAssembly] MC support for acquire-release atomics (#183656)

Initial support for acquire-release atomics, specified as part of
https://github.com/WebAssembly/shared-everything-threads

This adds an ordering operand to atomic loads, stores, RMWs,
wait/notify,
and fences. It currently defaults to 0 and ISel is not updated yet, so
atomics produced by the compiler will still always be seqcst.

Asm parsing and printing, binary emission and disassembly are all
updated. Binary emission will always use the old encoding because the
encoding is smaller, and to get backwards compatibility for free.
DeltaFile
+130-71llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
+69-0llvm/test/MC/WebAssembly/atomics-orderings.s
+68-0llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
+50-0llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
+41-3llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
+32-10llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
+390-848 files not shown
+449-9314 files

LLVM/project 82f600fclang-tools-extra/test/clang-doc namespace.cpp, clang/include/clang/CIR/Dialect/IR CIROps.td

Merge branch 'main' into users/jmmartinez/spirv/memory-issues-4
DeltaFile
+76-8clang/test/CIR/CodeGen/var_arg.c
+6-12clang/include/clang/CIR/Dialect/IR/CIROps.td
+5-4clang-tools-extra/test/clang-doc/namespace.cpp
+3-4clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+1-4clang/test/CIR/CodeGen/var-arg-aggregate.c
+1-3clang/lib/CIR/CodeGen/CIRGenFunction.h
+92-351 files not shown
+92-377 files