LLVM/project 78cbc45llvm/test/CodeGen/X86 haddsub-undef.ll

[X86] haddsub-undef.ll - rename undef functions to match equivalents in phaseordering tests (#207207)

Still some churn / regressions to address, but this is the same IR as
we're attempting in PhaseOrdering/X86/hadd.ll

Still need to update them to the vectorized IR from the middle-end
DeltaFile
+52-51llvm/test/CodeGen/X86/haddsub-undef.ll
+52-511 files

LLVM/project da16f64clang/lib/CodeGen CodeGenTypes.cpp

clang: Use a switch over APFloat semantics instead of if chain

Replace the chain of fltSemantics singleton address comparisons with a
switch over the APFloatBase::Semantics enum.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+11-8clang/lib/CodeGen/CodeGenTypes.cpp
+11-81 files

LLVM/project bb9a3c2clang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/lib/CodeGen CGExprScalar.cpp CodeGenTypes.cpp

clang: Remove useFP16ConversionIntrinsics target option

Follow up to #174494. Remove the remnants of the control to
use llvm.convert.to.fp16/llvm.convert.from.fp16. Prefer
directly using the IR half type, unless the value is used
in an ABI context where it needs to remain as i16.

I did the first 80% of this a long time ago, and AI finished
the last bit and handled the recent rebases and test updates.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+30-47clang/test/CodeGen/wasm-fp16.c
+16-38clang/lib/CodeGen/CGExprScalar.cpp
+10-18clang/lib/CodeGen/CodeGenTypes.cpp
+2-20clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
+4-18clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+5-15clang/lib/Sema/SemaChecking.cpp
+67-15618 files not shown
+79-23224 files

LLVM/project 4df0067clang/lib/Headers avx512bmmvlintrin.h avx512bmmintrin.h, clang/test/CodeGen/X86 avx512bmmvl-builtins.c

[X86] Add AVX512BMM support for AMD Zen 6 (znver6) (#182556)

This patch adds support for AVX512BMM (Bit Matrix Multiply) instruction
set extension for AMD Zen 6 processors.

AVX512BMM includes three instructions:
 - VBITREVB: Bit reverse within each byte
 - VBMACOR: Bit matrix multiply with OR accumulation
 - VBMACXOR: Bit matrix multiply with XOR accumulation 
The following implementations for AVX512BMM are added:
 - Define __AVX512BMM__ macro for znver6
 - avx512bmmintrin.h, avx512bmmvlintrin.h header files
 - Implement _mm_bitrev_epi8, _mm256_bitrev_epi8, _mm512_bitrev_epi8
 - Implement _mm256/512_bmacor16x16x16 and bmacxor intrinsics
DeltaFile
+245-0clang/lib/Headers/avx512bmmvlintrin.h
+195-0llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics.ll
+174-0clang/lib/Headers/avx512bmmintrin.h
+141-0llvm/test/CodeGen/X86/avx512bmm-vbitrevb-intrinsics-mem.ll
+126-0clang/test/CodeGen/X86/avx512bmmvl-builtins.c
+123-0llvm/test/CodeGen/X86/avx512bmm-vbmac-intrinsics.ll
+1,004-031 files not shown
+1,999-437 files

LLVM/project fc1565fclang/lib/Sema SemaTypeTraits.cpp, clang/test/SemaCXX type-traits-incomplete.cpp

[clang] Check `T` and `U` operands of __reference_constructs_from_temporary are complete types (#206703)

This PR fix a bug introduce by
https://github.com/llvm/llvm-project/pull/206527.

[type.traits] Precondition : "T and U shall be complete types, cv void,
or arrays of unknown bound first.

The check for which
[#206527](https://github.com/llvm/llvm-project/pull/206527.) disables if
the first argument isn't a reference type.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+7-1clang/test/SemaCXX/type-traits-incomplete.cpp
+2-3clang/lib/Sema/SemaTypeTraits.cpp
+9-42 files

LLVM/project 206ad04llvm/include/llvm/CodeGen TargetRegisterInfo.h

Remove unused iterator members

Created using spr 1.3.8-wip
DeltaFile
+0-2llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+0-21 files

LLVM/project 6c5fa60llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG UnreachableEliminate.ll

[SimplifyCFG] Avoid calling `paramHasNonNullAttr` on a ptr vector argument (#207195)

After
https://github.com/llvm/llvm-project/commit/f8467698d8cdbac6e02cdc1aab643d1ac733ec19,
`ConstantPointerNull` also represents a null ptr vector. However,
`paramHasNonNullAttr` only accepts scalar pointer arguments.

Closes https://github.com/llvm/llvm-project/issues/207188.
DeltaFile
+17-0llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
+1-1llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+18-12 files

LLVM/project 4ddeb17llvm/lib/Transforms/Vectorize VPlan.cpp LoopVectorize.cpp

Patch 4: [LV][NFC]: Filter between vplans by tail-folding status
DeltaFile
+33-4llvm/lib/Transforms/Vectorize/VPlan.cpp
+17-9llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-5llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+2-0llvm/lib/Transforms/Vectorize/VPlan.h
+54-184 files

LLVM/project 8f18d86clang/lib/Sema SemaOpenACCClause.cpp, clang/test/SemaOpenACC loop-construct-reduction-clause.cpp

[OpenACC] Fix reduction var equality check for member variables (#207196)

OpenACC requires we check that a variable have the same operator in all
nested constructs with a reduction. The implementation for this checks
everything I could think of, but I apparently missed member expressions.
This patch adds checks for that as well as 'this' so we should correctly
get the checks.

Fixes: #207180
DeltaFile
+43-0clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
+14-0clang/lib/Sema/SemaOpenACCClause.cpp
+57-02 files

LLVM/project 142d555cross-project-tests/debuginfo-tests/dexter/dex/evaluation ExpectMatch.py, cross-project-tests/debuginfo-tests/dexter/dex/test_script Nodes.py

[Dexter] Add ability to check float values within a range (#204161)

Adds a new node type, !float, which can be used to match debugger ouptut
as
float values rather than as strings, optionally allowing a range to be
specified for inexact matches. This new node allows a list of values to
be
given, effectively a shorthand for a list of individual !float nodes.
DeltaFile
+110-1cross-project-tests/debuginfo-tests/dexter/dex/test_script/Nodes.py
+68-0cross-project-tests/debuginfo-tests/dexter/feature_tests/scripts/floats.cpp
+12-1cross-project-tests/debuginfo-tests/dexter/dex/evaluation/ExpectMatch.py
+190-23 files

LLVM/project 877baa6llvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/include/llvm/MC MCRegisterInfo.h

[spr] changes to main this commit is based on

Created using spr 1.3.8-wip

[skip ci]
DeltaFile
+146-126llvm/utils/TableGen/RegisterInfoEmitter.cpp
+4-157llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+109-1llvm/include/llvm/MC/MCRegisterInfo.h
+5-14llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
+4-8llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+5-4llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+273-31042 files not shown
+359-36748 files

LLVM/project 26b0e29llvm/include/llvm/CodeGen TargetRegisterInfo.h, llvm/include/llvm/MC MCRegisterInfo.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+151-137llvm/utils/TableGen/RegisterInfoEmitter.cpp
+4-182llvm/include/llvm/CodeGen/TargetRegisterInfo.h
+109-1llvm/include/llvm/MC/MCRegisterInfo.h
+16-20llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+9-12llvm/lib/CodeGen/TargetRegisterInfo.cpp
+5-14llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
+294-36657 files not shown
+436-47963 files

LLVM/project dab5d92llvm/test/CodeGen/X86 haddsub-2.ll, llvm/test/Transforms/PhaseOrdering/X86 hsub.ll

[X86] haddsub-2.ll - sync scalar "not" hsub tests between the middle-end and backend (#207192)

Replace the codegen scalar tests with the IR that middle-end actually generates

Help towards #143000
DeltaFile
+42-128llvm/test/CodeGen/X86/haddsub-2.ll
+70-0llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
+112-1282 files

LLVM/project 507108eclang/lib/Parse ParseStmt.cpp

[clang] Fix enum/non-enum conditional warning in ParseStmt (#207085)

Use Scope::NoScope instead of 0, fixes
```
llvm-project/clang/lib/Parse/ParseStmt.cpp:1744:57: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 1744 |   unsigned ScopeFlags = Scope::ControlScope | (C99orCXX ? Scope::DeclScope : 0);
```
DeltaFile
+2-1clang/lib/Parse/ParseStmt.cpp
+2-11 files

LLVM/project 4fca989llvm/test/CodeGen/AArch64 sve-lrint.ll sve-llrint.ll

[AArch64] Add SVE lowering for FP_TO_[US]INT_SAT.

Fixed-length lowering will be added in a separate PR.
DeltaFile
+319-1,280llvm/test/CodeGen/AArch64/sve-lrint.ll
+319-1,280llvm/test/CodeGen/AArch64/sve-llrint.ll
+113-333llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
+87-269llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
+80-209llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
+144-0llvm/test/CodeGen/AArch64/sve-fptosi-sat-scalable-types.ll
+1,062-3,3711 files not shown
+1,081-3,3797 files

LLVM/project afad48dllvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64ISelLowering.h

[AArch64] NFC: Factor out code from FP_TO_INT (SVE).

This just moves out some of the SVE lowering code from
LowerVectorFP_TO_INT into a separate function, so that we
can reuse that in LowerVectorFP_TO_INT_SAT.
DeltaFile
+54-29llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-1llvm/lib/Target/AArch64/AArch64ISelLowering.h
+58-302 files

LLVM/project 07f59bfllvm/lib/Target/AArch64 AArch64ISelLowering.cpp

[AArch64] NFCI: Simplify LowerVectorFP_TO_INT_SAT (part 2)

This simplifies the logic a bit more, such that the flow of the
lowering is as follows:
* Try to promote if necessary (fp16/bf16 types or src < dst)
* Try to handle natively (satwidth == srcwidth == dstwidth)
* Otherwise use min/max + truncate.
DeltaFile
+62-42llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+62-421 files

LLVM/project 4bf8fcdclang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files

LLVM/project 220331eclang/include/clang/Basic TargetInfo.h, clang/lib/AST ASTContext.cpp

convert to exec-charset inside getPredefinedStringLiteralFromCache, test __builtin_FILE()
DeltaFile
+10-0clang/lib/AST/ASTContext.cpp
+4-0clang/test/CodeGen/systemz-charset.cpp
+2-1clang/lib/Lex/TextEncoding.cpp
+3-0clang/lib/Basic/TargetInfo.cpp
+2-0clang/include/clang/Basic/TargetInfo.h
+21-15 files

LLVM/project a2ab9bfclang/lib/Lex TextEncoding.cpp, clang/lib/Sema SemaChecking.cpp

do not convert character by character
DeltaFile
+6-4clang/lib/Sema/SemaChecking.cpp
+1-1clang/lib/Lex/TextEncoding.cpp
+7-52 files

LLVM/project e954bfaclang/docs LanguageExtensions.rst, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.rst
+56-193 files not shown
+60-199 files

LLVM/project 3e51aeaclang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+2-2clang/lib/Lex/TextEncoding.cpp
+11-112 files

LLVM/project a1995e5clang/include/clang/Sema Sema.h, clang/lib/Parse Parser.cpp ParseDecl.cpp

fix CI
DeltaFile
+0-7clang/test/CodeGen/systemz-charset.c
+2-2clang/include/clang/Sema/Sema.h
+1-1clang/lib/Parse/Parser.cpp
+0-1clang/lib/Parse/ParseDecl.cpp
+3-114 files

LLVM/project 076dc95clang/include/clang/Lex TextEncoding.h, clang/lib/Lex TextEncoding.cpp

fix CI
DeltaFile
+2-2clang/lib/Lex/TextEncoding.cpp
+1-0clang/include/clang/Lex/TextEncoding.h
+3-22 files

LLVM/project ee920edclang/include/clang/Sema Sema.h

Remove old include
DeltaFile
+0-1clang/include/clang/Sema/Sema.h
+0-11 files

LLVM/project c056d03clang/include/clang/Sema Sema.h

Fix build failure
DeltaFile
+1-0clang/include/clang/Sema/Sema.h
+1-01 files

LLVM/project 42abfa5clang/lib/AST PrintfFormatString.cpp FormatString.cpp, clang/lib/Sema SemaChecking.cpp

Add format string handling
DeltaFile
+58-31clang/lib/AST/PrintfFormatString.cpp
+46-40clang/lib/AST/FormatString.cpp
+33-21clang/lib/Sema/SemaChecking.cpp
+25-11clang/lib/AST/FormatStringParsing.h
+15-8clang/lib/AST/ScanfFormatString.cpp
+19-0llvm/lib/Support/TextEncoding.cpp
+196-1117 files not shown
+233-12013 files

LLVM/project 8524c0dclang/test/CodeGen systemz-charset.c

fix CI
DeltaFile
+2-0clang/test/CodeGen/systemz-charset.c
+2-01 files

LLVM/project b2088c0clang/lib/Parse ParseDecl.cpp ParseExpr.cpp, clang/lib/Sema SemaExpr.cpp

add ParserConversionAction, do not translate unevaluated strings
DeltaFile
+6-6clang/lib/Sema/SemaExpr.cpp
+10-0clang/lib/Parse/ParseDecl.cpp
+8-0clang/test/CodeGen/systemz-charset-diag.cpp
+3-3clang/lib/Parse/ParseExpr.cpp
+5-0clang/test/CodeGen/systemz-charset.c
+4-0clang/lib/Parse/Parser.cpp
+36-93 files not shown
+42-109 files

LLVM/project 8ca1842clang/lib/Lex LiteralSupport.cpp

return true on conversion failure
DeltaFile
+1-0clang/lib/Lex/LiteralSupport.cpp
+1-01 files