LLVM/project 186a5f9mlir/lib/Conversion/ArithToLLVM ArithToLLVM.cpp

check float cast
DeltaFile
+3-1mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
+3-11 files

LLVM/project 28a279clldb/tools/lldb-dap/src-ts utils.ts debug-adapter-factory.ts

[lldb-dap] expand tilde in dap executable path (#162635)

Users may have multiple devices and would like to resolve the homepath
based on the machine they are on.

expands the tilde `~` character at the front of the given file path.
DeltaFile
+41-0lldb/tools/lldb-dap/src-ts/utils.ts
+4-2lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
+45-22 files

LLVM/project 00171b3llvm/test/TableGen/SDNodeInfoEmitter no-nodes.td, llvm/utils/TableGen SDNodeInfoEmitter.cpp

[NFC][TableGen] Adopt CodeGenHelpers in SDNodeInfoEmitter (#165622)

Use `IfDefEmitter` and `NamespaceEmitter` in SDNodeInfoEmitter.
DeltaFile
+8-15llvm/utils/TableGen/SDNodeInfoEmitter.cpp
+1-0llvm/test/TableGen/SDNodeInfoEmitter/no-nodes.td
+9-152 files

LLVM/project 37fff6ellvm/lib/IR FPEnv.cpp ReplaceConstant.cpp

[NFC][LLVM][IR] Cleanup namespace usage in LLVM IR cpp files (#166477)

DeltaFile
+8-8llvm/lib/IR/FPEnv.cpp
+5-7llvm/lib/IR/ReplaceConstant.cpp
+5-7llvm/lib/IR/PassTimingInfo.cpp
+4-8llvm/lib/IR/PseudoProbe.cpp
+1-5llvm/lib/IR/Verifier.cpp
+3-3llvm/lib/IR/DebugProgramInstruction.cpp
+26-385 files not shown
+35-5411 files

LLVM/project 46d34a7llvm/utils/TableGen/Basic RuntimeLibcalls.cpp RuntimeLibcalls.h

Remove filename from comments
DeltaFile
+1-1llvm/utils/TableGen/Basic/RuntimeLibcalls.cpp
+1-1llvm/utils/TableGen/Basic/RuntimeLibcalls.h
+2-22 files

LLVM/project e7f7973libc/src/__support wctype_utils.h CMakeLists.txt, libc/src/wctype iswalpha.cpp

[libc] Migrate wctype_utils to use wchar_t where applicable. (#166234)

This is a counterpart of
https://github.com/llvm/llvm-project/pull/166225 but for wctype_utils
(which are not yet widely used). For now, I'm just changing the types
from wint_t to wchar_t to match the regular ctype_utils change. The next
change may rename most of the functions to match the name of ctype_utils
variants, so that we could be calling them from the templated code
operating on "const char*" and "const wchar_t*" strings, and the right
function signature would be picked up.
DeltaFile
+12-12libc/test/src/wchar/WcstolTest.h
+12-11libc/src/__support/wctype_utils.h
+3-1libc/src/wctype/iswalpha.cpp
+1-0libc/src/__support/CMakeLists.txt
+1-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+29-245 files

LLVM/project 120689elibc/src/__support ctype_utils.h, libc/src/ctype CMakeLists.txt toupper.cpp

[libc] Migrate ctype_utils to use char instead of int where applicable. (#166225)

Functions like isalpha / tolower can operate on chars internally. This
allows us to get rid of unnecessary casts and open a way to creating
wchar_t overloads with the same names (e.g. for isalpha), that would
simplify templated code for conversion functions (see
315dfe5865962d8a3d60e21d1fffce5214fe54ef).

Add the int->char converstion to public entrypoints implementation
instead. We also need to introduce bounds check on the input argument
values - these functions' behavior is unspecified if the argument is
neither EOF nor fits in "unsigned char" range, but the tests we've had
verified that they always return false for small negative values. To
preserve this behavior, cover it explicitly.
DeltaFile
+12-12libc/src/__support/ctype_utils.h
+12-12libc/test/src/stdlib/StrtolTest.h
+23-0libc/src/ctype/CMakeLists.txt
+9-2libc/src/ctype/toupper.cpp
+9-2libc/src/ctype/tolower.cpp
+11-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+76-2831 files not shown
+196-8637 files

LLVM/project 70f2855llvm/lib/CodeGen ExpandFp.cpp, llvm/test/Transforms/ExpandFp/AMDGPU pass-parameters.ll missing-analysis.ll

ExpandFp: Require RuntimeLibcallsInfo analysis

Not sure I'm doing the new pass manager handling correctly. I do
not like needing to manually check if the cached module pass is
available and manually erroring in every pass.
DeltaFile
+14-0llvm/lib/CodeGen/ExpandFp.cpp
+4-4llvm/test/Transforms/ExpandFp/AMDGPU/pass-parameters.ll
+6-0llvm/test/Transforms/ExpandFp/AMDGPU/missing-analysis.ll
+2-2llvm/test/Transforms/ExpandFp/AMDGPU/frem-inf.ll
+1-1llvm/test/Transforms/ExpandFp/AMDGPU/frem.ll
+27-75 files

LLVM/project bab2e01llvm/include/llvm/Analysis RuntimeLibcallInfo.h, llvm/include/llvm/IR RuntimeLibcalls.h

Analysis: Add RuntimeLibcall analysis pass

Currently RuntimeLibcallsInfo is a hardcoded list based on the triple.
In the future the available libcall set should be dynamically modifiable
with module flags.

Note this isn't really used yet. TargetLowering is still constructing
its own copy, and untangling that to use this requires several more
steps.
DeltaFile
+60-0llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
+43-0llvm/lib/Analysis/RuntimeLibcallInfo.cpp
+10-0llvm/include/llvm/IR/RuntimeLibcalls.h
+6-1llvm/lib/IR/RuntimeLibcalls.cpp
+3-0llvm/include/llvm/Passes/CodeGenPassBuilder.h
+1-0llvm/lib/Analysis/Analysis.cpp
+123-16 files not shown
+129-112 files

LLVM/project 1fa2e64llvm/utils/TableGen/Basic RuntimeLibcallsEmitter.cpp RuntimeLibcalls.h

TableGen: Split RuntimeLibcallsEmitter into separate utility header

This information will be needed in more emitters, so start factoring
it to be more reusable.
DeltaFile
+25-250llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+189-0llvm/utils/TableGen/Basic/RuntimeLibcalls.h
+93-0llvm/utils/TableGen/Basic/RuntimeLibcalls.cpp
+1-0llvm/utils/TableGen/Basic/CMakeLists.txt
+308-2504 files

LLVM/project a7119e9flang/lib/Semantics check-omp-atomic.cpp, flang/test/Lower/OpenMP atomic-update-capture-complex-part.f90

[flang][OpenMP] Detect complex part designators in atomic variables

Complex part designators do not have their own symbols. A symbol obtained
for the expression `x%re` will be the symbol for `x`, and in this case x
is allowed to be allocatable.

Fixes https://github.com/llvm/llvm-project/issues/166278.
DeltaFile
+17-0flang/test/Lower/OpenMP/atomic-update-capture-complex-part.f90
+5-3flang/lib/Semantics/check-omp-atomic.cpp
+22-32 files

LLVM/project c193eeallvm/utils/gn/secondary/llvm/lib/CodeGen BUILD.gn

[gn build] Port 056d2c12f756
DeltaFile
+1-0llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
+1-01 files

LLVM/project bc55f4flldb/tools/debugserver/source/MacOSX MachVMRegion.cpp

[debugserver] Fix debugserver build on < macOS 10.15 (#166599)

The VM_MEMORY_SANITIZER constant was added in macOs 10.15 and friends.
Support using the constant on older OSes.

Fixes #156144
DeltaFile
+6-0lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
+6-01 files

LLVM/project 858e6ca.ci all_requirements.txt generate_test_report_lib_test.py

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+192-2.ci/all_requirements.txt
+101-0.ci/generate_test_report_lib_test.py
+51-20.ci/generate_test_report_lib.py
+65-3.ci/premerge_advisor_explain.py
+3-12.ci/generate_test_report_github.py
+5-4.ci/utils.sh
+417-411 files not shown
+418-417 files

LLVM/project 49d9c03.ci all_requirements.txt generate_test_report_lib_test.py

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+192-2.ci/all_requirements.txt
+101-0.ci/generate_test_report_lib_test.py
+51-20.ci/generate_test_report_lib.py
+65-3.ci/premerge_advisor_explain.py
+3-12.ci/generate_test_report_github.py
+5-4.ci/utils.sh
+417-413 files not shown
+426-419 files

LLVM/project d3caae1clang/include/clang/Basic IdentifierTable.h, clang/lib/Basic IdentifierTable.cpp

[clang] Refactor clang's keyword enable/disable mechanism to allow lldb to re-use it (#165323)

lldb's CPlusPlusNameParser is currently identifying keywords using it's
own map implemented using clang/Basic/TokenKinds.def. However, it does
not respect the language options so identifiers can incorrectly
determined to be keywords when using languages in which they are not
keywords.

Rather than implement the logic to enable/disable keywords in both
projects it makes sense for lldb to use clang's implementation.

See #164284 for more information
DeltaFile
+1-54clang/lib/Basic/IdentifierTable.cpp
+51-0clang/include/clang/Basic/IdentifierTable.h
+52-542 files

LLVM/project 06c030d.ci premerge_advisor_explain.py utils.sh

fix

Created using spr 1.3.7
DeltaFile
+17-17.ci/premerge_advisor_explain.py
+5-5.ci/utils.sh
+22-222 files

LLVM/project ebeb36bllvm/lib/Target/PowerPC PPCInstrFuture.td, llvm/test/MC/Disassembler/PowerPC ppc64le-encoding-ISAFuture.txt ppc-encoding-ISAFuture.txt

[PowerPC] Implement vsx rotate left word instr (#160754)

Implement `xvrlw`.
DeltaFile
+4-0llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
+3-0llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
+3-0llvm/lib/Target/PowerPC/PPCInstrFuture.td
+3-0llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
+13-04 files

LLVM/project af0b6b1llvm/lib/CodeGen AtomicExpandPass.cpp

[ProfCheck][NFC] fix argument order for call to setExplicitlyUnknownBranchWeightsIfProfiled (#166601)

DeltaFile
+1-1llvm/lib/CodeGen/AtomicExpandPass.cpp
+1-11 files

LLVM/project 0dc46fc.ci generate_test_report_lib_test.py generate_test_report_lib.py

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+101-0.ci/generate_test_report_lib_test.py
+51-20.ci/generate_test_report_lib.py
+3-12.ci/generate_test_report_github.py
+155-323 files

LLVM/project 90b2866.ci all_requirements.txt generate_test_report_lib_test.py

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+192-2.ci/all_requirements.txt
+101-0.ci/generate_test_report_lib_test.py
+51-20.ci/generate_test_report_lib.py
+65-3.ci/premerge_advisor_explain.py
+3-12.ci/generate_test_report_github.py
+2-1.ci/utils.sh
+414-381 files not shown
+415-387 files

LLVM/project ce14f93.ci generate_test_report_lib_test.py generate_test_report_lib.py

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+101-0.ci/generate_test_report_lib_test.py
+51-20.ci/generate_test_report_lib.py
+3-12.ci/generate_test_report_github.py
+155-323 files

LLVM/project 2f325a5.ci generate_test_report_lib_test.py generate_test_report_lib.py

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+101-0.ci/generate_test_report_lib_test.py
+40-20.ci/generate_test_report_lib.py
+141-202 files

LLVM/project 3c162balldb/source/Plugins/SymbolFile/NativePDB UdtRecordCompleter.cpp, lldb/test/Shell/SymbolFile/NativePDB class_layout.cpp

[LLDB][NativePDB] Add non-overlapping fields in root struct (#166243)

When anonymous unions are used in a struct or vice versa, their fields
are merged into the parent record when using PDB. LLDB tries to recreate
the original definition of the record _with_ the anonymous
unions/structs.

For tagged unions (like `std::optional`) where the tag followed the
anonymous union, the result was suboptimal:

```cpp
// input:
struct Foo {
  union {
    Bar b;
    char c;
  };
  bool tag;
};

    [18 lines not shown]
DeltaFile
+51-1lldb/unittests/SymbolFile/NativePDB/UdtRecordCompleterTests.cpp
+21-2lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
+4-4lldb/test/Shell/SymbolFile/NativePDB/class_layout.cpp
+76-73 files

LLVM/project d49c670libcxxabi/src/demangle cp-to-llvm.sh

[libcxxabi][demangle] Fix the cp-to-llvm.sh sync script to copy all headers (#166572)

In https://github.com/llvm/llvm-project/pull/137947 I refactored the
script and added a `copy_files` function, which takes the header files
to copy as an argument.

But because the list of headers is a space separated string, we need to
quote the string. Otherwise we would just copy the first header in the
list.

This patch also adds an `echo` statement in the `copy_files` loop to
print the source/destination. Confirming that the files are copied as
expected.
```
$ libcxxabi/src/demangle/cp-to-llvm.sh
This will overwrite the copies of ItaniumDemangle.h ItaniumNodes.def StringViewExtras.h Utility.h in ../../../llvm/include/llvm/Demangle and DemangleTestCases.inc in ../../../llvm/include/llvm/Demangle/../Testing/Demangle; are you sure? [y/N]y
Copying ./ItaniumDemangle.h to ../../../llvm/include/llvm/Demangle/ItaniumDemangle.h
Copying ./ItaniumNodes.def to ../../../llvm/include/llvm/Demangle/ItaniumNodes.def
Copying ./StringViewExtras.h to ../../../llvm/include/llvm/Demangle/StringViewExtras.h

    [5 lines not shown]
DeltaFile
+3-2libcxxabi/src/demangle/cp-to-llvm.sh
+3-21 files

LLVM/project efa7ab0llvm/lib/CodeGen AtomicExpandPass.cpp, llvm/test/Transforms/AtomicExpand/AArch64 atomicrmw-fp.ll

[profcheck] Add unknown branch weights to expanded cmpxchg loop. (#165841)

The AtomicExpandPass is responsible for lowering high-level atomic
operations (like `atomicrmw fadd`) that are unsupported by the target
hardware into a cmpxchg retry loop.

Given that we cannot empirically prove the precision branch weights, It
uses the `setExplicitlyUnknownBranchWeightsIfProfiled` function to
explicitly add "unknown" (50/50) branch weights to this branch.

This PR includes fies for the following tests:
```
Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
Transforms/AtomicExpand/AArch64/pcsections.ll
Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-agent.ll
Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-agent.ll
Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-nand.ll

    [17 lines not shown]
DeltaFile
+11-3llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
+6-1llvm/lib/CodeGen/AtomicExpandPass.cpp
+17-42 files

LLVM/project 7f6a94fllvm/lib/CodeGen/AsmPrinter DwarfCompileUnit.cpp, llvm/test/DebugInfo/RISCV relax_dwo_ranges.ll

[dwarf] make dwarf fission compatible with RISCV relaxations 2/2

This patch makes DWARF fission compatible with RISC-V relaxations by
using indirect addressing for the DW_AT_high_pc attribute. This
eliminates the remaining relocations in .dwo files.
DeltaFile
+30-14llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
+5-3llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+35-172 files

LLVM/project cb41408llvm/lib/Target/Xtensa XtensaInstrInfo.cpp, llvm/lib/Target/Xtensa/MCTargetDesc XtensaMCTargetDesc.cpp XtensaMCCodeEmitter.cpp

[Xtensa] Fix S32C1I instruction encoding and copyPhysReg. (#165174)

Fix S21C1I instruction encoding.Fix special registers parsing for S32C1I
feature. Fix copyPhysReg function for f32 registers copy.
DeltaFile
+19-2llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
+13-0llvm/test/MC/Xtensa/s32c1i.s
+7-0llvm/test/CodeGen/Xtensa/s32c1i.ll
+1-1llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
+1-1llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
+41-45 files

LLVM/project 8de8713llvm/include/llvm/MC MCSymbol.h, llvm/lib/CodeGen/AsmPrinter DwarfDebug.cpp

[dwarf] make dwarf fission compatible with RISCV relaxations 1/2

Currently, -gsplit-dwarf and -mrelax are incompatible options in
Clang. The issue is that .dwo files should not contain any
relocations, as they are not processed by the linker. However,
relaxable code emits relocations in DWARF for debug ranges that
reside in the .dwo file when DWARF fission is enabled.

This patch makes DWARF fission compatible with RISC-V relaxations.
It uses the StartxEndx DWARF forms in .debug_rnglists.dwo, which
allow referencing addresses from .debug_addr instead of using
absolute addresses. This approach eliminates relocations from .dwo
files.
DeltaFile
+187-0llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll
+33-25llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+18-3llvm/lib/MC/MCSymbol.cpp
+2-0llvm/include/llvm/MC/MCSymbol.h
+240-284 files

LLVM/project f60e693llvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp, llvm/test/CodeGen/ARM call-graph-section-addrtaken.ll call-graph-section-assembly.ll

[llvm] Emit canonical linkage correct function symbol (#166487)

In the call graph section, we were emitting the temporary label
pointing to the start of the function instead of the canonical linkage
correct function symbol. This patch fixes it and updates the
corresponding tests.
DeltaFile
+1-2llvm/test/CodeGen/X86/call-graph-section-assembly.ll
+1-2llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+1-2llvm/test/CodeGen/ARM/call-graph-section-addrtaken.ll
+1-2llvm/test/CodeGen/ARM/call-graph-section-assembly.ll
+1-2llvm/test/CodeGen/X86/call-graph-section-addrtaken.ll
+1-1llvm/test/CodeGen/ARM/call-graph-section-tailcall.ll
+6-116 files