LLVM/project 156f911clang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 73e2e0aclang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 257cc5aclang/lib/Sema SemaConcept.cpp, clang/test/SemaCXX cxx2c-fold-exprs.cpp

[Clang] Fix concept cache for normalized fold expressions (#190312)

When both outer and inner pack substitution indexes are present, we
should cache both. Otherwise we will have wrong cached result.

This is a regression fix so no release note.

Fixes https://github.com/llvm/llvm-project/issues/190169
DeltaFile
+14-15clang/lib/Sema/SemaConcept.cpp
+14-0clang/test/SemaCXX/cxx2c-fold-exprs.cpp
+28-152 files

LLVM/project b5967a1clang/lib/AST Type.cpp ItaniumMangle.cpp, clang/test/CXX/drs cwg20xx.cpp

[clang] implement CWG2064: ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Readds a few test cases from da98651

Fixes #61818
DeltaFile
+29-0clang/test/CodeGenCXX/GH190495.cpp
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+15-2clang/test/CXX/drs/cwg20xx.cpp
+11-4clang/lib/AST/ItaniumMangle.cpp
+14-1clang/test/SemaCXX/decltype.cpp
+92-2912 files not shown
+145-4718 files

LLVM/project 00d5f66offload/plugins-nextgen/cuda/dynamic_cuda cuda.cpp

[offload][CUDA] Fix DLWRAP for memory routines (#190500)
DeltaFile
+2-2offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
+2-21 files

LLVM/project 17ed1e6clang/docs ReleaseNotes.rst, clang/lib/Sema SemaTemplate.cpp

[clang] diagnose block pointer types as invalid for constant template parameters (#190464)

Fixes a crash by making it ill-formed to have a constant template
parameter with a block pointer type.

Fixes #189247
DeltaFile
+5-0clang/lib/Sema/SemaTemplate.cpp
+4-0clang/test/SemaCXX/blocks.cpp
+1-0clang/docs/ReleaseNotes.rst
+10-03 files

LLVM/project 9659f28clang/lib/AST Type.cpp ASTContext.cpp, clang/test/SemaCXX decltype.cpp

[clang] ignore value dependence for decltype

The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.

Fixes #61818
DeltaFile
+11-12clang/test/SemaTemplate/deduction-guide.cpp
+12-10clang/lib/AST/Type.cpp
+9-0clang/test/SemaTemplate/concepts.cpp
+8-1clang/test/SemaCXX/decltype.cpp
+4-5clang/lib/AST/ASTContext.cpp
+4-4clang/test/SemaTemplate/dependent-expr.cpp
+48-329 files not shown
+71-4015 files

LLVM/project 7fd02b3clang/test/SemaCXX source_location.cpp

[clang] NFC: Add test case for #178324 and mark it as fixed (#190490)

Issue #178324 was actually fixed by #187755

We lost the "declaration does not declare anything" warning since the
regression was introduced, but that was because:
1) Since #78436 we treat __builtin_FUNCSIG in a dependent context
effectivelly as if it contained a template parameter.
2) Our decltype implementation treats eexpressions containing template
parameters as if they were completely opaque (but alas this goes against
the spec, which says in [temp.type]p4 this should be looking only at
type dependence).
3) Since the decltype is opaque, we don't know what lookup will find, so
we can't issue the warning because we don't know if we are going to end
up with a type or an expression.

Fixes #178324
DeltaFile
+10-0clang/test/SemaCXX/source_location.cpp
+10-01 files

LLVM/project d400080lldb/source/Plugins/Platform/WebAssembly PlatformWasm.cpp

[lldb] Inherit Host::GetEnvironment() when launching a wasm runtime (#190476)

Some WebAssembly runtimes might use environment variables such as `HOME`
or `XDG_CONFIG_HOME` to store configuration files, additionally some VMs
might allow wasm modules to read environment variables from the host.
Currently, if a runtime is launched using the WebAssembly platform it
doesn't inherit the environment. As a result wasm runtimes and modules
are unable to read from environment variables and might even fail to
launch (if the config file is required). This PR aims to resolve this
issue, I have tested this with the WARDuino runtime and my WIP gdbstub.
DeltaFile
+1-0lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
+1-01 files

LLVM/project 0996887llvm/test/tools/dsymutil/AArch64 pseudo-probe.test

[dsymutil] Add REQUIRES: host-byteorder-little-endian to pseudo-probe test (#190482)
DeltaFile
+2-1llvm/test/tools/dsymutil/AArch64/pseudo-probe.test
+2-11 files

LLVM/project f959327polly/include/polly ScopBuilder.h, polly/lib/Analysis ScopBuilder.cpp

[Polly][NFC] Convert ScopBuilder::buildUnsignedConditionSets() to isl++ (#190487)
DeltaFile
+28-24polly/lib/Analysis/ScopBuilder.cpp
+2-2polly/include/polly/ScopBuilder.h
+30-262 files

LLVM/project 1a72808clang/test/SemaCXX source_location.cpp

[clang] NFC: Add test case for #178324 and mark it as fixed

Issue #178324 was actually fixed by #187755

We lost the "declaration does not declare anything" warning since
the regression was introduced, but that was because:
1) Since #78436 we treat __builtin_FUNCSIG in a dependent context effectivelly as
   if it contained a template parameter.
2) Our decltype implementation treats eexpressions containing template
   parameters as if they were completely opaque (but alas this goes against
   the spec, which says in [temp.type]p4 this should be looking only
   at type dependence).
3) Since the decltype is opaque, we don't know what lookup will find,
   so we can't issue the warning because we don't know if we are going
   to end up with a type or an expression.

Fixes #178324
DeltaFile
+10-0clang/test/SemaCXX/source_location.cpp
+10-01 files

LLVM/project 2c6dfacclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenModule.cpp

[CIR] Convert global_visibility from attribute to property

Replace CIR_VisibilityAttr with DefaultValuedProp<EnumProp<CIR_VisibilityKind>>
for global_visibility on GlobalOp and FuncOp. This removes the need for custom
parse/print functions and simplifies callers to use direct enum values instead
of wrapping/unwrapping VisibilityAttr.
DeltaFile
+4-41clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+8-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-3clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+2-2clang/lib/CIR/CodeGen/CIRGenModule.cpp
+1-2clang/lib/CIR/Dialect/Transforms/EHABILowering.cpp
+1-2clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+18-556 files

LLVM/project 8ed6773llvm/lib/CodeGen CodeGenPrepare.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+1-6llvm/lib/CodeGen/CodeGenPrepare.cpp
+1-61 files

LLVM/project ad6d3c7clang/lib/CIR/CodeGen CIRGenExprAggregate.cpp CIRGenValue.h, clang/test/CIR/CodeGen aggregate-copy-overlap.cpp no-unique-address.cpp

[CIR] Use data size in emitAggregateCopy for overlapping copies
DeltaFile
+76-0clang/test/CIR/CodeGen/aggregate-copy-overlap.cpp
+16-6clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+5-4clang/test/CIR/CodeGen/no-unique-address.cpp
+1-1clang/lib/CIR/CodeGen/CIRGenValue.h
+98-114 files

LLVM/project 0cd9c89llvm/include/llvm/CodeGen SelectionDAGNodes.h, llvm/lib/CodeGen/SelectionDAG ScheduleDAGSDNodes.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+10-4llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
+3-0llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+13-42 files

LLVM/project 064b6ballvm/include/llvm/IR InstrTypes.h, llvm/lib/Analysis ConstantFolding.cpp

[ConstantFolding] Non-constrained functions in strictfp

Non-constrained function calls, allowed in strictfp functions by
PR188297, are equivalent to their constrained counterparts with dynamic
rounding and strict exception handling. When constant folding the calls
of these functions, some cases cannot be folded due to unknown rounding
mode or floting-point exceptions that can be lost. This change adapts
constant folding for these case.
DeltaFile
+306-0llvm/test/Transforms/InstSimplify/constfold-strictfp.ll
+87-50llvm/lib/Analysis/ConstantFolding.cpp
+9-0llvm/include/llvm/IR/InstrTypes.h
+402-503 files

LLVM/project 3b6e56dllvm/test/CodeGen/AMDGPU integer-mad-patterns.ll fcanonicalize.bf16.ll, llvm/test/CodeGen/RISCV/rvv expandload.ll

rebase

Created using spr 1.3.8-wip
DeltaFile
+3,666-5,073llvm/test/CodeGen/RISCV/rvv/expandload.ll
+1,318-117llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+835-387llvm/test/CodeGen/AMDGPU/fcanonicalize.bf16.ll
+610-305llvm/test/CodeGen/AMDGPU/atomics-system-scope.ll
+505-259llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
+460-214llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+7,394-6,355200 files not shown
+14,725-8,698206 files

LLVM/project 5845d8ellvm/include/llvm/IR InstrTypes.h, llvm/lib/Analysis ConstantFolding.cpp

[ConstantFolding] Non-constrained functions in strictfp

Non-constrained function calls, allowed in strictfp functions by
PR188297, are equivalent to their constrained counterparts with dynamic
rounding and strict exception handling. When constant folding the calls
of these functions, some cases cannot be folded due to unknown rounding
mode or floting-point exceptions that can be lost. This change adapts
constant folding for these case.
DeltaFile
+306-0llvm/test/Transforms/InstSimplify/constfold-strictfp.ll
+87-50llvm/lib/Analysis/ConstantFolding.cpp
+9-0llvm/include/llvm/IR/InstrTypes.h
+402-503 files

LLVM/project b5e7dbbllvm/lib/IR Value.cpp

[IR] Use iteration limit in stripPointerCastsAndOffsets (#190472)

Using a SmallPtrSet is not quite free for such a frequently called
operation. However, calls on ill-formed IR are not particularly rare, so
some iteration limit is needed. Therefore, use a simple counter.

Termination statistics on a Clang Release build for N>5:

   2448 N=6
   1295 N=7
    480 N=8
    294 N=9
    160 N=10
  14350 (endless loop)

Therefore, bound the number of iterations by 12, which should cover most
practically relevant cases.

It is worth noting that _all_ of the endless loop cases have the

    [5 lines not shown]
DeltaFile
+12-7llvm/lib/IR/Value.cpp
+12-71 files

LLVM/project ba3dbbflldb/include/lldb/Utility Log.h, lldb/source/Breakpoint BreakpointResolverName.cpp

[lldb] Remove Log::Error and Log::Warning (NFC) (#190440)
DeltaFile
+24-24lldb/source/Target/ThreadPlan.cpp
+0-26lldb/source/Utility/Log.cpp
+5-5lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+3-5lldb/source/Breakpoint/BreakpointResolverName.cpp
+0-5lldb/include/lldb/Utility/Log.h
+2-3lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+34-686 files

LLVM/project 27a762clldb/source/Target Process.cpp

[lldb][NFC] Add helper function for computing whether to show Process error (#190189)
DeltaFile
+13-12lldb/source/Target/Process.cpp
+13-121 files

LLVM/project d4fe1d3llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis banerjee-overflow.ll

[DA] Add overflow check in BanerjeeMIVtest

Add an overflow check in BanerjeeMIVtest.
Fix the related test case.

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+7-1llvm/lib/Analysis/DependenceAnalysis.cpp
+1-3llvm/test/Analysis/DependenceAnalysis/banerjee-overflow.ll
+8-42 files

LLVM/project 420111emlir/lib/Dialect/LLVMIR/IR LLVMDialect.cpp, mlir/test/Dialect/LLVMIR roundtrip.mlir

[mlir][LLVM] Fix incorrect verification of atomicrmw f{min,max}imumnum (#190474)

Fix llvm.atomicrmw fminimumnum and fmaximumnum to correctly take the
float operation verification path.
DeltaFile
+3-1mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+2-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+5-12 files

LLVM/project f27b88ellvm/lib/IR Value.cpp

move decl into for header

Created using spr 1.3.8-wip
DeltaFile
+13-9llvm/lib/IR/Value.cpp
+13-91 files

LLVM/project 4ee5bebllvm/lib/IR Value.cpp

[spr] changes introduced through rebase

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+12-7llvm/lib/IR/Value.cpp
+12-71 files

LLVM/project 5790db7llvm/lib/IR Value.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+27-14llvm/lib/IR/Value.cpp
+27-141 files

LLVM/project 052716ellvm/lib/IR Value.cpp

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+12-7llvm/lib/IR/Value.cpp
+12-71 files

LLVM/project c6932e5llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis banerjee-overflow.ll

[DA] Add overflow check in BanerjeeMIVtest

Add an overflow check in BanerjeeMIVtest.
Fix the related test case.

Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
DeltaFile
+3-1llvm/lib/Analysis/DependenceAnalysis.cpp
+1-3llvm/test/Analysis/DependenceAnalysis/banerjee-overflow.ll
+4-42 files

LLVM/project 5a3d062llvm/test/Analysis/DependenceAnalysis banerjee-overflow.ll

[DA] Add overflow test for BanerjeeMIVtest
DeltaFile
+74-0llvm/test/Analysis/DependenceAnalysis/banerjee-overflow.ll
+74-01 files