LLVM/project 2f52bbemlir/lib/Dialect/SparseTensor/IR/Detail LvlTypeParser.cpp

[mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)

DeltaFile
+7-7mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
+7-71 files

LLVM/project 2d5e488clang/unittests/Format SortIncludesTest.cpp

[clang-format][NFC] Clean up SortIncludesTest.cpp

Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.
DeltaFile
+954-956clang/unittests/Format/SortIncludesTest.cpp
+954-9561 files

LLVM/project b603237llvm/lib/Option OptTable.cpp, llvm/lib/ProfileData InstrProfCorrelator.cpp

[llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)

DeltaFile
+4-6llvm/lib/ProfileData/InstrProfCorrelator.cpp
+3-3llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
+1-1llvm/lib/Option/OptTable.cpp
+1-1llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+9-114 files

LLVM/project 7892d43.github/workflows llvm-bugs.yml

Update llvm-bugs.yml (#77243)

DeltaFile
+1-1.github/workflows/llvm-bugs.yml
+1-11 files

LLVM/project ad625a4llvm/utils/TableGen ARMTargetDefEmitter.cpp

[TableGen] Avoid std::string copy. NFC

Fix #92702
DeltaFile
+1-1llvm/utils/TableGen/ARMTargetDefEmitter.cpp
+1-11 files

LLVM/project b52aa55llvm/lib/Transforms/Utils CallPromotionUtils.cpp

remove unused helper function and add TODO for tree height reduction
DeltaFile
+1-18llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
+1-181 files

LLVM/project fb2c659llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp AMDGPUISelLowering.cpp, llvm/test/CodeGen/AMDGPU ctlz_zero_undef.ll

[AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)

Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.

Related to [77615](https://github.com/llvm/llvm-project/pull/77615).

---------

Co-authored-by: Leon Clark <leoclark at amd.com>
DeltaFile
+94-138llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
+20-27llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
+37-7llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+16-6llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
+169-1785 files

LLVM/project 8786429bolt/lib/Passes BinaryPasses.cpp, bolt/test/X86 bb-with-two-tail-calls.s

[BOLT] Fix preserved offset in fixDoubleJumps (#92485)

DeltaFile
+9-5bolt/lib/Passes/BinaryPasses.cpp
+4-4bolt/test/X86/bb-with-two-tail-calls.s
+13-92 files

LLVM/project 0cd2bf3llvm/lib/Analysis ValueTracking.cpp, llvm/test/CodeGen/AMDGPU amdgpu-codegenprepare-fdiv.ll

ValueTracking: Correct undef handling for constant FP vectors (#92557)

Treat undef as unknown, and poison as ignorable.
DeltaFile
+65-65llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
+48-5llvm/test/Transforms/InstCombine/or-fcmp.ll
+22-5llvm/test/Transforms/InstCombine/and-fcmp.ll
+1-1llvm/lib/Analysis/ValueTracking.cpp
+1-1llvm/test/Transforms/Attributor/nofpclass.ll
+137-775 files

LLVM/project 516e44eclang/test/CodeGen attr-riscv-rvv-vector-bits-types.c, clang/test/CodeGen/RISCV attr-rvv-vector-bits-types.c rvv-vls-arith-ops.c

improve comments. add CREL_HDR_ADDEND

Created using spr 1.3.5-bogner
DeltaFile
+0-2,054clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
+2,054-0clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
+1,315-620llvm/test/CodeGen/AArch64/vector-lrint.ll
+844-1,032flang/lib/Lower/OpenMP/OpenMP.cpp
+1,871-0llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
+1,819-0clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
+7,903-3,7062,492 files not shown
+119,355-67,1822,498 files

LLVM/project c60ef79mlir/lib/Interfaces/Utils InferIntRangeCommon.cpp

fix clang build
DeltaFile
+34-34mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
+34-341 files

LLVM/project 93b7c2bmlir/lib/Dialect/Arith/IR InferIntRangeInterfaceImpls.cpp, mlir/lib/Dialect/Index/IR InferIntRangeInterfaceImpls.cpp

address review comments
DeltaFile
+1-1mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
+1-1mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
+2-22 files

LLVM/project 1908baemlir/include/mlir/Interfaces/Utils InferIntRangeCommon.h, mlir/lib/Dialect/Arith/IR InferIntRangeInterfaceImpls.cpp

[mlir][intrange] Use `nsw`,`nuw` flags in inference

This patch includes the "no signed wrap" and "no unsigned wrap" flags,
which can be used to annotate some Ops in the `arith` dialect and also
in LLVMIR, in the integer range inference.

The general approach is to use saturating arithmetic operations to infer
bounds which are assumed to not wrap and use overflowing arithmetic
operations in the normal case. If overflow is detected in the normal case,
special handling makes sure that we don't underestimate the result range.
DeltaFile
+133-0mlir/test/Dialect/Arith/int-range-interface.mlir
+58-40mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
+21-4mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
+18-4mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
+18-4mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
+1-1mlir/test/Dialect/Arith/int-range-opts.mlir
+249-536 files

LLVM/project 3092534mlir/lib/Interfaces/Utils InferIntRangeCommon.cpp

Fix inference and formatting
DeltaFile
+36-35mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
+36-351 files

LLVM/project 8782eebmlir/test/Dialect/Arith int-range-opts.mlir int-range-interface.mlir, mlir/test/lib/Dialect/Test TestOpDefs.cpp

[mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui`

This patch adapts the `test.reflect_bounds` test Op to use explicitly
signed and unsigned representation for signed and unsigned bounds of
`IntegerType`s.

This is mostly a cosmetic change as the internal representation of the
ranges is unchanged. However, it improves readability of tests.

Example:
```mlir
// old:
test.reflect_bounds {smax = 127 : i8, smin = -128 : i8, umax = -56 : i8, umin = 100 : i8}
// new:
test.reflect_bounds {smax = 127 : si8, smin = -128 : si8, umax = 200 : ui8, umin = 100 : ui8}
```
DeltaFile
+14-5mlir/test/lib/Dialect/Test/TestOpDefs.cpp
+2-2mlir/test/Dialect/Arith/int-range-opts.mlir
+1-1mlir/test/Dialect/Arith/int-range-interface.mlir
+17-83 files

LLVM/project 3f33c4cclang/include/clang/Sema ParsedAttr.h, clang/lib/Sema SemaAvailability.cpp SemaDeclAttr.cpp

[Clang][HLSL] Add environment parameter to availability attribute (#89809)

Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.

This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.

The environment parameter is currently supported only for HLSL.

Fixes #89802
DeltaFile
+93-35clang/lib/Sema/SemaAvailability.cpp
+73-0clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
+73-0clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
+63-0clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
+39-9clang/lib/Sema/SemaDeclAttr.cpp
+28-14clang/include/clang/Sema/ParsedAttr.h
+369-5817 files not shown
+508-11123 files

LLVM/project c34079cllvm/docs ORCv2.rst

[DOCS] ORCv2.rst Typo (#89482)

DeltaFile
+1-1llvm/docs/ORCv2.rst
+1-11 files

LLVM/project 643f361clang/docs/HLSL AvailabilityDiagnostics.rst HLSLDocs.rst

HLSL availability diagnostics design doc (#92207)

Design document for the HLSL availability diagnostic modes

Fixes microsoft/hlsl-specs#190

---------

Co-authored-by: Xiang Li <python3kgae at outlook.com>
DeltaFile
+137-0clang/docs/HLSL/AvailabilityDiagnostics.rst
+1-0clang/docs/HLSL/HLSLDocs.rst
+138-02 files

LLVM/project f1e29eamlir/lib/Interfaces/Utils InferIntRangeCommon.cpp

Fix inference and formatting
DeltaFile
+36-35mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
+36-351 files

LLVM/project b050048llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanPatternMatch.h, llvm/test/Transforms/LoopVectorize vplan-sink-scalars-and-merge.ll unused-blend-mask-for-first-operand.ll

[VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)

Simplify a common pattern generated for masks when folding the tail.

PR: https://github.com/llvm/llvm-project/pull/89386
DeltaFile
+4-16llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
+5-14llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
+14-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-10llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
+3-6llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
+7-1llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+35-482 files not shown
+37-548 files

LLVM/project c1c1567llvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/test/Transforms/InstCombine pow-to-ldexp.ll

SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)

DeltaFile
+20-49llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
+4-3llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+24-522 files

LLVM/project eab92cbllvm/include/llvm/Support KnownBits.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

[llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)

This PR is to address the issue #84640
DeltaFile
+20-11llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+31-0llvm/lib/Support/KnownBits.cpp
+12-0llvm/unittests/Support/KnownBitsTest.cpp
+12-0llvm/include/llvm/Support/KnownBits.h
+75-114 files

LLVM/project 9e4ef0dllvm/lib/CodeGen/SelectionDAG FunctionLoweringInfo.cpp SelectionDAGISel.cpp

[CodeGen][SDAG] Track returntwice in lowering info (#92640)

This saves an extra iteration over the all instructions of the function.
DeltaFile
+4-0llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+0-3llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+4-32 files

LLVM/project 0c7d268llvm/include/llvm/CodeGen SelectionDAG.h, llvm/lib/CodeGen/SelectionDAG FunctionLoweringInfo.cpp

[CodeGen][SDAG] Skip preferred extend at O0 (#92643)

This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.
DeltaFile
+4-2llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+1-0llvm/include/llvm/CodeGen/SelectionDAG.h
+5-22 files

LLVM/project 10edb49clang/test/CodeGenCXX dynamic-cast-address-space.cpp vtable-assume-load-address-space.cpp, llvm/test/Transforms/Inline inline_invoke.ll

[Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)

At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.
DeltaFile
+113-10clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
+67-43clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
+7-7llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
+11-0clang/test/CodeGenCXX/typeid-with-address-space.cpp
+5-5llvm/test/Transforms/Inline/inline_invoke.ll
+10-0clang/test/CodeGenCXX/template-param-objects-address-space.cpp
+213-6522 files not shown
+283-9828 files

LLVM/project c587483clang/test/Misc pragma-attribute-supported-attributes-list.test

Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"

Issue #92687

This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.
DeltaFile
+1-0clang/test/Misc/pragma-attribute-supported-attributes-list.test
+1-01 files

LLVM/project 6447abeclang/lib/Parse ParseDecl.cpp, clang/test/AST attr-counted-by-struct-ptrs.c

Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"

Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.
DeltaFile
+0-254clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
+0-224clang/test/Sema/attr-counted-by-struct-ptrs.c
+0-193clang/test/Sema/attr-counted-by-vla.c
+0-117clang/test/AST/attr-counted-by-struct-ptrs.c
+112-0clang/test/Sema/attr-counted-by.c
+7-97clang/lib/Parse/ParseDecl.cpp
+119-88515 files not shown
+148-1,11721 files

LLVM/project ed9007dclang/include/clang/Basic DiagnosticSemaKinds.td DiagnosticGroups.td, clang/lib/Sema SemaDeclAttr.cpp

Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"

Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403

Issue #92687

This reverts commit cef6387e52578366c2332275dad88b9953b55336.
DeltaFile
+2-15clang/lib/Sema/SemaDeclAttr.cpp
+3-6clang/test/Sema/attr-counted-by-vla.c
+1-7clang/include/clang/Basic/DiagnosticSemaKinds.td
+0-4clang/include/clang/Basic/DiagnosticGroups.td
+6-324 files

LLVM/project 7273ad1llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92576
DeltaFile
+12-11llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+12-111 files

LLVM/project 9f5c8dellvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp

[DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch

No need for this to be vector specific, and its more likely that scalar cases will appear after #92096
DeltaFile
+10-12llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+10-121 files