Changes

Summary

  1. [clang-tidy] Confusable identifiers detection (details)
  2. [AArch64] Add extra addp codegen tests. NFC (details)
  3. [mlir] Fix ClangTidy warning (NFC). (details)
  4. [VPlan] Replace CondBit with BranchOnCond VPInstruction. (details)
  5. [VPlan] Update failing HCFG unit tests after a5bb4a3b4d3db. (details)
  6. [SVE] Refactor sve-bitcast.ll to include all combinations for legal types. (details)
  7. [DAGCombiner] Add bf16 to the matrix of types that we don't promote to integer stores (details)
  8. [pp-trace] Print HashLoc in InclusionDirective callback (details)
  9. [gn build] (manually) port b94db7ed7eaf (Confusables.inc) (details)
  10. [VPlan] Inline variable into assertion. NFC. (details)
  11. [mlir][complex] Check the correctness of tanh in complex dialect (details)
  12. [VPlan] Silence another unused variable warning in release builds (details)
  13. Update old mailing list link in the nullability doc (details)
  14. [SCCP] Regenerate test checks (NFC) (details)
  15. Updating more entries in the C DR Status page (details)
  16. [SCCP] Regenerate test checks with function signature (NFC) (details)
  17. Correct the behavior of this test for non-Windows targets (details)
  18. [lldb] [Process/FreeBSD] Do not send SIGSTOP to stopped process (details)
  19. check_clang_tidy.py: Update run line to python3 (details)
  20. Revert "[clang-tidy] Confusable identifiers detection" (details)
  21. [clang][dataflow] Model calls returning optionals (details)
  22. [coro async] Add code to support dynamic aligment of over-aligned types in async frames (details)
  23. Only issue warning for subtraction involving null pointers on live code paths (details)
  24. [gn build] Extract compiled_action.gni from tablegen.gni (details)
  25. [docs] Remove a link to an outdated Go docs (details)
  26. [SLP]Improve shuffles cost estimation where possible. (details)
Commit b94db7ed7eaf4a3b21f600653a09c55cab77b79f by sguelton
[clang-tidy] Confusable identifiers detection

Detect identifiers that are confusable according to Unicode definition

        http://www.unicode.org/reports/tr39/#Confusable_Detection

and have conflicting scopes.

Differential Revision: https://reviews.llvm.org/D112916
The file was addedclang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/misc/ConfusableTable/build_confusable_table.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/misc-homoglyph.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/misc-homoglyph.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
The file was addedclang-tools-extra/clang-tidy/misc/Homoglyph.cpp
The file was addedclang-tools-extra/clang-tidy/misc/Homoglyph.h
Commit 79e3b043e59af643f2540b12a826c695f054e782 by david.green
[AArch64] Add extra addp codegen tests. NFC
The file was modifiedllvm/test/CodeGen/AArch64/arm64-addp.ll
Commit 39f28397e2981238423f5482bef956306ef47c1f by akuegel
[mlir] Fix ClangTidy warning (NFC).

virtual is redundant since the function is already declared 'override'.
The file was modifiedmlir/lib/Parser/AsmParserImpl.h
Commit a5bb4a3b4d3dbf52ad6ec45e6a2557c3ccbe1626 by flo
[VPlan] Replace CondBit with BranchOnCond VPInstruction.

This patch removes CondBit and Predicate from VPBasicBlock. To do so,
the patch introduces a new branch-on-cond VPInstruction opcode to model
a branch on a condition explicitly.

This addresses a long-standing TODO/FIXME that blocks shouldn't be users
of VPValues. Those extra users can cause issues for VPValue-based
analyses that don't expect blocks. Addressing this fixme should allow us
to re-introduce 266ea446ab7476.

The generic branch opcode can also be used in follow-up patches.

Depends on D123005.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D126618
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/icmp-uniforms.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-printing.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
Commit fe65c567a5694fbd143627a0bb3ac976ecf59c04 by flo
[VPlan] Update failing HCFG unit tests after a5bb4a3b4d3db.
The file was modifiedllvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Commit 2dde272db767dbc74ebc326b787d25aa82a05b2e by paul.walker
[SVE] Refactor sve-bitcast.ll to include all combinations for legal types.

Patch enables custom lowering for MVT::nxv4bf16 because otherwise
the refactored test file triggers a selection failure.

The reason for the refactoring it to highlight cases where the
generated code is wrong.
The file was modifiedllvm/test/CodeGen/AArch64/sve-bitcast.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit e8e4b741dd108bd0e7f49dd88435519f52d55d54 by benny.kra
[DAGCombiner] Add bf16 to the matrix of types that we don't promote to integer stores

Remove a few stray semicolons while there.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 8df2b1a866800b41984bd7721b244a9821810764 by ty1208chiang
[pp-trace] Print HashLoc in InclusionDirective callback

The HashLoc in InclusionDirective callback is an unused parameter.
Since pp-trace is also used as a test of Clang’s PPCallbacks interface,
add it to the output of pp-trace could avoid some unintended change on
it.

This shuold resolves PR52673

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D125373
The file was modifiedclang-tools-extra/docs/pp-trace.rst
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/test/pp-trace/pp-trace-include.cpp
The file was modifiedclang-tools-extra/pp-trace/PPCallbacksTracker.cpp
Commit 180bae08a04d4dc724cb5e6f2ea9df8641a3f657 by thakis
[gn build] (manually) port b94db7ed7eaf (Confusables.inc)
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
The file was modifiedclang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
The file was addedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/ConfusableTable/BUILD.gn
Commit 6b7c18639021cd3da69c6c2812e189b9cd4cf34f by benny.kra
[VPlan] Inline variable into assertion. NFC.

Avoids a warning in release builds
llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp:311:14: warning: unused variable 'BrCond' [-Wunused-variable]
      Value *BrCond = Br->getCondition();
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Commit d4141c93a818e048a9d51195ef210593e149bc53 by pifon
[mlir][complex] Check the correctness of tanh in complex dialect

Correctness check for tanh operation in complex dialect.

Ref: https://reviews.llvm.org/D126858

Reviewed By: pifon2a

Differential Revision: https://reviews.llvm.org/D126946
The file was modifiedmlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
Commit a8d2a381a2e7285ca66edd752677cc286b8a6ee2 by benny.kra
[VPlan] Silence another unused variable warning in release builds
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
Commit 166f9be330dd36e2ef27d4c0023b78b8257f0909 by hans
Update old mailing list link in the nullability doc
The file was modifiedclang/docs/analyzer/developer-docs/nullability.rst
Commit 6baf44c8b1fd1a83735f5f86e32b6176b4a325ad by npopov
[SCCP] Regenerate test checks (NFC)
The file was modifiedllvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
The file was modifiedllvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
The file was modifiedllvm/test/Transforms/SCCP/return-zapped.ll
Commit 3472b6eb0a70f6b3ae45078d79d1c5b350da9c24 by aaron
Updating more entries in the C DR Status page

Adds test coverage or information for ~25 more C DRs.
The file was modifiedclang/www/c_dr_status.html
The file was modifiedclang/test/C/drs/dr1xx.c
Commit fcdc6a466aab037154d7730ca43d33fbbe2132f8 by npopov
[SCCP] Regenerate test checks with function signature (NFC)

The previous checks were manually modified to avoid the label
clash. Use the --function-signature flag that exists for this
purpose.
The file was modifiedllvm/test/Transforms/SCCP/switch-undef-constantfoldterminator.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll
Commit 1896df18cc5b588760f75cc2c21d64c772cf0e4c by aaron
Correct the behavior of this test for non-Windows targets

This should address build failures like:
https://lab.llvm.org/buildbot/#/builders/188/builds/14980
https://lab.llvm.org/buildbot/#/builders/171/builds/15515
https://lab.llvm.org/buildbot/#/builders/91/builds/9877
The file was modifiedclang/test/C/drs/dr1xx.c
Commit aed179f5f557664d6deb26ef6fdc6aa944af41af by mgorny
[lldb] [Process/FreeBSD] Do not send SIGSTOP to stopped process

Do not send SIGSTOP when requested to halt a process that's already
stopped.  This results in the signal being queued for delivery once
the process is resumed, and unexpectedly stopping it again.

This is necessary for non-stop protocol patches to land.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.llvm.org/D126770
The file was modifiedlldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
Commit 88052fd241267a09a4e612505f589ae371b91398 by thakis
check_clang_tidy.py: Update run line to python3

`python` no longer exists on several systems, and the script
runs under python3 when run as part of lit.
The file was modifiedclang-tools-extra/test/clang-tidy/check_clang_tidy.py
Commit 371e6f8b7fb94c444083ba115fd8edf17d6ba05c by thakis
Revert "[clang-tidy] Confusable identifiers detection"

This reverts commit b94db7ed7eaf4a3b21f600653a09c55cab77b79f.
See comments on https://reviews.llvm.org/D112916:
- breaks `check-clangd`, and makes clang-tidy crash on simple inputs
- likely does the wrong thing in cross builds

Also revert follow-up "[gn build] (manually) port b94db7ed7eaf (Confusables.inc)"
This reverts commit 180bae08a04d4dc724cb5e6f2ea9df8641a3f657.
The file was modifiedclang-tools-extra/clang-tidy/misc/CMakeLists.txt
The file was removedclang-tools-extra/clang-tidy/misc/ConfusableTable/confusables.txt
The file was removedclang-tools-extra/docs/clang-tidy/checks/misc-homoglyph.rst
The file was removedclang-tools-extra/clang-tidy/misc/ConfusableTable/build_confusable_table.cpp
The file was removedclang-tools-extra/clang-tidy/misc/ConfusableTable/CMakeLists.txt
The file was removedclang-tools-extra/clang-tidy/misc/Homoglyph.h
The file was modifiedclang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
The file was removedclang-tools-extra/clang-tidy/misc/Homoglyph.cpp
The file was removedclang-tools-extra/test/clang-tidy/checkers/misc-homoglyph.cpp
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/BUILD.gn
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was removedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/misc/ConfusableTable/BUILD.gn
Commit 65e710c3fc036706ec20b357a1bfce9cbadf5705 by sgatev
[clang][dataflow] Model calls returning optionals

Model calls returning optionals

Differential Revision: https://reviews.llvm.org/D126759

Reviewed-by: ymandel, xazax.hun
The file was modifiedclang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
The file was modifiedclang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
Commit 5c902af572bf8670fc0bb9d5709f2f0447339033 by aschwaighofer
[coro async] Add code to support dynamic aligment of over-aligned types in async frames

Async context frames are allocated with a maximum alignment. If a type
requests an alignment bigger than that dynamically align the address
in the frame.

Differential Revision: https://reviews.llvm.org/D126715
The file was addedllvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit efbf0136b4108692ddd1a852b3f5b232c10d2097 by schmeise
Only issue warning for subtraction involving null pointers on live code paths

Summary:
Change the warning produced for subtraction from (or with) a null pointer
to only be produced when the code path is live.
https://github.com/llvm/llvm-project/issues/54570

Author: Jamie Schmeiser <schmeise@ca.ibm.com>
Reviewed By: anarazel (Andres Freund)
Differential Revision: https://reviews.llvm.org/D126816
The file was modifiedclang/test/Sema/pointer-subtraction.c
The file was modifiedclang/test/Sema/pointer-subtraction.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 10f7255d32b690a44556297cee9a2ddb476e8ea6 by thakis
[gn build] Extract compiled_action.gni from tablegen.gni

After years of tablegen being the only host binary we run as part
of the build, we're now in the process of growing at least two more:
- make_confusable_table (https://reviews.llvm.org/rG180bae08a04d)
- pseudo-gen (not yet fully hooked up in the GN build, but I have
  a local branch that hooks it up)

Factor out the few lines we need for running a host binary as part of the
build.

No behavior change.

Differential Revision: https://reviews.llvm.org/D126963
The file was addedllvm/utils/gn/build/compiled_action.gni
The file was removedllvm/utils/gn/build/run_tablegen.py
The file was modifiedllvm/utils/gn/secondary/llvm/utils/TableGen/tablegen.gni
The file was addedllvm/utils/gn/build/run_built_binary.py
Commit fa7b4cf05e1c35526341cd0fd6f264b2d227aa3a by jtitor
[docs] Remove a link to an outdated Go docs

That link returns 404, we have bindings code on https://github.com/llvm/llvm-project/tree/main/llvm/bindings/go
but it seems we haven't published it and there are no docs yet.

Differential Revision: https://reviews.llvm.org/D126874
The file was modifiedllvm/docs/Reference.rst
Commit cac60940b771a0685d058a5b471c84cea05fdc46 by a.bataev
[SLP]Improve shuffles cost estimation where possible.

Improved/fixed cost modeling for shuffles by providing masks, improved
cost model for non-identity insertelements.

Differential Revision: https://reviews.llvm.org/D115462
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/resched.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/PR39774.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll