FailedChanges

Summary

  1. [lit] Add --time-trace-output to lit (details)
  2. [X86][AVX] isHorizontalBinOp - relax lane-crossing limits for AVX1-only targets. (details)
  3. [X86] Remove unused canScaleShuffleElements helper (details)
  4. [Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr (details)
  5. [Support][PPC] Fix bot failures due to cd53ded557c3 (details)
  6. [SyntaxTree] Add support for `LiteralExpression` (details)
  7. [mlir][Vector] Relax condition for `splitFullAndPartialTransferPrecondition` (details)
  8. [SyntaxTree] Fix crash on pointer to member function (details)
  9. Improve diagnostics for disallowed attributes used with multiversioning (details)
  10. Permit nowthrow and nonnull with multiversioning. (details)
  11. Fix sphinx indentation warning. (details)
  12. [X86] getFauxShuffleMask - drop unnecessary computeKnownBits OR(X,Y) shuffle decoding. (details)
  13. Fix sphinx indentation warning to stop newline in byref section html output. (details)
  14. [AMDGPU] Generate frem test checks (details)
  15. [AMDGPU] Use fma for lowering frem (details)
  16. [test] Use abspath instead of realpath sometimes (details)
  17. [PowerPC] Custom lowering for funnel shifts (details)
  18. Fix sphinx "Title underline too short" warning (details)
  19. Separate code-block tag with a newline to fix code snippet html output (details)
  20. [PowerPC] Don't remove single swap between the load and store (details)
  21. [clang][BPF] support type exist/size and enum exist/value relocations (details)
  22. [OpenMP] Don't use MSVC workaround with MinGW (details)
  23. [llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable (details)
  24. GlobalISel: Hack a test to avoid a bug introducing a verifier error (details)
  25. [docs] Mention LLVM_ENABLE_MODULES. (details)
  26. [InstSimplify] refactor min/max folds with shared operand; NFC (details)
  27. [lldb/Host] Upstream macOS TCC code (details)
  28. [GlobalISel] Don't transform FSUB(-0, X) -> FNEG(X) in GlobalISel. (details)
  29. AMDGPU/GlobalISel: Ensure subreg is valid when selecting G_UNMERGE_VALUES (details)
  30. [DWARFYAML] Fix unintialized value Is64BitAddrSize. NFC. (details)
  31. [GlobalISel] Remove redundant FNEG tests. (details)
  32. [MLIR] Simplify semi-affine expressions (details)
  33. Fix sphinx indentation warnings by adding explicit line breaks to address space hierarchy (details)
  34. [gn build] (manually) merge 593e1962 (details)
  35. sanitizer_symbolizer_libcdep.cpp: Change --inlining=true to --inlines and --inlining=false to --no-inlines (details)
  36. Fix -Wconstant-conversion warning with explicit cast (details)
  37. [MLIR][SPIRVToLLVM] Indentation and style fix in tests (details)
  38. [InstSimplify] add tests for compare of min/max; NFC (details)
  39. [test] Fix another realpath->abspath. (details)
  40. [clang] improve diagnostics for misaligned and large atomics (details)
  41. Revert "[HotColdSplit] Add test case for unlikely attribute in outlined function" (details)
  42. [SCCP] Propagate inequalities (details)
  43. [llvm-symbolizer] Add compatibility aliases for --inlining={true,false} (details)
  44. [InstSimplify] Add tests for icmp with urem divisor (NFC) (details)
  45. [InstSimplify] Peephole optimization for icmp (urem X, Y), X (details)
  46. [NFC][LV] Vectorized Loop Skeleton Refactoring (details)
  47. [mlir] [VectorOps] Add expand/compress operations to Vector dialect (details)
  48. [libc++abi] Make sure we use a 32 bit guard on 32 bit Aarch64 (details)
  49. AMDGPU/GlobalISel: Add baseline tests for andn2/orn2 matching (details)
  50. GlobalISel: Add node mappings for frameindex/blockaddress (details)
  51. [libc] Add implementations for isblank, iscntrl, isgraph, ispunct. (details)
  52. GlobalISel: Handle llvm.localescape (details)
  53. [llvm-symbolizer][test] Fix pdb/pdb.test after D83530 (details)
  54. [MLIR][Affine] Fix createPrivateMemRef in affine fusion (details)
  55. BPF: support type exist/size and enum exist/value relocations (details)
  56. [FastISel] Don't transform FSUB(-0, X) -> FNEG(X) in FastISel (details)
  57. [MLIR] Change FunctionType::get() and TupleType::get() to use TypeRange (details)
  58. [WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics. (details)
  59. [libFuzzer] Fix endianness issue in ForEachNonZeroByte() (details)
  60. [SanitizerCoverage] Fix types of __stop* and __start* symbols (details)
  61. [libFuzzer] Enable for SystemZ (details)
  62. [lldb/Test] Add missing stdio.h includes (details)
  63. [OpenMP] support build on msys2/mingw with clang or gcc (details)
  64. [HotColdSplit] Add test case for unlikely attribute in outlined function (details)
  65. [AArch64][SVE] Widen narrow sdiv/udiv operations. (details)
  66. [lldb-vscode ]Add Syntax Highlighting to Disassembly View (details)
  67. GlobalISel: Add utilty for getting function argument live ins (details)
  68. [lldb/Test] Skip tests that try to get the remote environment (details)
  69. AMDGPU/GlobalISel: Select llvm.returnaddress (details)
  70. [llvm][NFC] Moved implementation of TrainingLogger outside of its decl (details)
  71. AMDGPU/GlobalISel: Use live in helper function for returnaddress (details)
  72. [lldb/Test] Add @skipIfRemote decorator to TestProcessList.py (details)
  73. [RDF] Remove uses of RDFRegisters::normalize (deprecate) (details)
  74. [SelectionDAG][SVE] Support scalable vectors in getConstantFP() (details)
  75. [Hexagon] Use InstSimplify instead of ConstantProp (details)
  76. Teach SROA to handle allocas with more than one dbg.declare. (details)
  77. [RDF] Lower the sorting complexity in RDFLiveness::getAllReachingDefs (details)
  78. [RDF] Cache register aliases in PhysicalRegisterInfo (details)
  79. [RDF] Really remove remaining uses of PhysicalRegisterInfo::normalize (details)
  80. BPF: simplify IR generation for __builtin_btf_type_id() (details)
  81. [RDF] Use hash-based containers, cache extra information (details)
  82. [RDF] Add operator<<(raw_ostream&, RegisterAggr), NFC (details)
  83. Fix debugserver's qProcessInfo reporting of maccatalyst binaries (details)
  84. [NFC][InstCombine] Negator: add tests for negation of left-shift by constant (details)
  85. [NFC][InstCombine] Fix value names (s/%tmp/%i/) and autogenerate a few tests being affected by negator change (details)
  86. [InstCombine] Negator: -(X << C)  -->  X * (-1 << C) (details)
  87. Revert "[InstCombine] Negator: -(X << C)  -->  X * (-1 << C)" (details)
  88. [llvm] Expose type and element count-related APIs on TensorSpec (details)
  89. [StackSafety,NFC] Add combined index test (details)
  90. [lldb/testsuite] Skip 'frame diagnose' tests based on architecture (details)
  91. [X86] Optimize getImpliedDisabledFeatures & getImpliedEnabledFeatures after D83273 (details)
  92. PR46997: don't run clang-format on clang's testcases. (details)
  93. [StackSafety,NFC] Add combined index test (details)
  94. [llvm-cov] reset executation count to 0 after wrapped segment (details)
Commit 98827feddb90b8d8bfeb3c85f7801ee411bab2cd by russell.gallop
[lit] Add --time-trace-output to lit

This produces a chrome://tracing compatible trace file in the same way
as -ftime-trace.

This can be useful in optimising test time where one long test is causing
long overall test time on a wide machine.

This also helped in finding tests which have side effects on others
(e.g. https://reviews.llvm.org/D84885).

Differential Revision: https://reviews.llvm.org/D84931
The file was modifiedllvm/utils/lit/lit/reports.py
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was modifiedllvm/utils/lit/lit/worker.py
The file was modifiedllvm/utils/lit/lit/Test.py
Commit 36750ba5bd0e9e72120dbfaab4166baafd89e98a by llvm-dev
[X86][AVX] isHorizontalBinOp - relax lane-crossing limits for AVX1-only targets.

Permit lane-crossing post shuffles on AVX1 targets as long as every element comes from the same source lane, which for v8f32/v4f64 cases can be efficiently lowered with the LowerShuffleAsLanePermuteAnd* style methods.
The file was modifiedllvm/test/CodeGen/X86/haddsub-4.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 051f293b7881116c0d4aae6e2ee0470b3ca58886 by llvm-dev
[X86] Remove unused canScaleShuffleElements helper

The only use was removed at rG36750ba5bd0e9e72

Thanks to @nemanjai for the heads up
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 1c0a0dfa0236514fd1fbb1bccd8ad29f9d64e915 by hokein.wu
[Concepts] Include the found concept decl when dumping the ConceptSpecializationExpr

Differential Revision: https://reviews.llvm.org/D85124
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was modifiedclang/test/AST/ast-dump-concepts.cpp
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
Commit 62a933b72c5b060bcb2c7332d05082f002d6c65a by nemanja.i.ibm
[Support][PPC] Fix bot failures due to cd53ded557c3

Commit https://reviews.llvm.org/rGcd53ded557c3 attempts to fix the
computation in computeHostNumPhysicalCores() to respect Affinity.
However, the GLIBC wrapper of the affinity system call fails with
a default size of cpu_set_t on systems that have more than 1024 CPUs.
This just fixes the computation on such large machines.
The file was modifiedllvm/lib/Support/Host.cpp
Commit 860cbbdd6b84017e6d37e1752b0358a05da6b115 by ecaldas
[SyntaxTree] Add support for `LiteralExpression`

We use inheritance to model the grammar's disjunction rule:
literal:
  integer-literal
  character-literal
  floating-point-literal
  string-literal
  boolean-literal
  pointer-literal
  user-defined-literal

Differential Revision: https://reviews.llvm.org/D85186
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
Commit 2d0b05969bc01a2fda14b8dc3e8c26c81efe9c6f by ntv
[mlir][Vector] Relax condition for `splitFullAndPartialTransferPrecondition`

The `splitFullAndPartialTransferPrecondition` has a restrictive condition to
prevent the pattern to be applied recursively if it is nested under an scf.IfOp.
Relaxing the condition to the immediate parent op must not be an scf.IfOp lets
the pattern be applied more generally while still preventing recursion.

Differential Revision: https://reviews.llvm.org/D85209
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 8ce15f7eeb122c0bba4b676d797217359dd57c30 by ecaldas
[SyntaxTree] Fix crash on pointer to member function

Differential Revision: https://reviews.llvm.org/D85146
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 961da69d7eafe44411d5ac9719209653d196f9e2 by erich.keane
Improve diagnostics for disallowed attributes used with multiversioning

Since we permit using SOME attributes (at the moment, just 1) with
multiversioning, we should improve the message as it still implies that
no attributes should be combined with multiversioning.
The file was modifiedclang/test/Sema/attr-target-mv.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/attr-cpuspecific.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 0a8ac91a084504929b1ef4ec1fee693455bd796d by erich.keane
Permit nowthrow and nonnull with multiversioning.

Some shipped versions of stdlib.h use nonnull and nothrow with function
multiversioning.  Support these, as they are generally harmless.
The file was modifiedclang/test/Sema/attr-cpuspecific.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/Sema/attr-target-mv.c
Commit feb9d8bd8e60100b29f8a065995e14a16c871914 by llvm-dev
Fix sphinx indentation warning.

Don't double indent and make it clear we're referting to the latency mode.
The file was modifiedllvm/docs/CommandGuide/llvm-exegesis.rst
Commit 6f0da46d538ec3003584cc6ea4419f4403f19771 by llvm-dev
[X86] getFauxShuffleMask - drop unnecessary computeKnownBits OR(X,Y) shuffle decoding.

Now that rG47cea9e82dda941e lets us aggressively decode multi-use shuffles for the OR(SHUFFLE(),SHUFFLE()) case we don't need the computeKnownBits variant any more.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6e727551b9db76dd209a34e312dd44faae3843b6 by llvm-dev
Fix sphinx indentation warning to stop newline in byref section html output.
The file was modifiedllvm/docs/LangRef.rst
Commit ee75cf36bb1790a51cd1fd7c022b0ece101eb248 by jay.foad
[AMDGPU] Generate frem test checks

Differential Revision: https://reviews.llvm.org/D84515
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
Commit 8ec8ad868d9b970245e827b14306fbd11d11a9b2 by jay.foad
[AMDGPU] Use fma for lowering frem

This gives shorter f64 code and perhaps better accuracy.

Differential Revision: https://reviews.llvm.org/D84516
The file was modifiedllvm/test/CodeGen/AMDGPU/frem.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Commit 817b3a6fe3a4452eb61a2503c8beaa7267ca0351 by rupprecht
[test] Use abspath instead of realpath sometimes

In these two cases, use of `os.path.realpath` is problematic:

- The name of the compiler is significant [1] . For testing purposes, we might
  provide a compiler called "clang" which is actually a symlink to some build
  script (which does some flag processing before invoking the real clang). The
  destination the symlink may not be called "clang", but we still want it to be
  treated as such.
- When using a build system that puts build artifacts in an arbitrary build
  location, and later creates a symlink for it (e.g. creates a
  "<lldb root>/lldbsuite/test/dotest.py" symlinks that points to
  "/build/artifact/<hash>/dotest.py"), looking at the realpath will not match
  the "test" convention required here.

[1] See `Makefile.rules` in the lldb tree, e.g. we use different flags if the compiler is named "clang"

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D85175
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 28e322ea9393e6b3841886006dd170ddd810fd9b by jay.foad
[PowerPC] Custom lowering for funnel shifts

The custom lowering saves an instruction over the generic expansion, by
taking advantage of the fact that PowerPC shift instructions are well
defined in the shift-by-bitwidth case.

Differential Revision: https://reviews.llvm.org/D83948
The file was modifiedllvm/test/CodeGen/PowerPC/funnel-shift.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/test/CodeGen/PowerPC/pr44183.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit cc0b670abf93c9c826885ab67125857469a1b8a6 by llvm-dev
Fix sphinx "Title underline too short" warning
The file was modifiedllvm/docs/Passes.rst
Commit 5e0a9dc0ad7704b7c49995101629010f5ff98cd2 by llvm-dev
Separate code-block tag with a newline to fix code snippet html output
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 14d726acd6041ee8fc595e48ec871b50b40ccc1d by nemanja.i.ibm
[PowerPC] Don't remove single swap between the load and store

The swap removal pass looks to remove swaps when a loaded value is swapped, some
number of lane-insensitive operations are performed and then the value is
swapped again and stored.

However, in a situation where we load the value, swap it and then store it
without swapping again, the pass erroneously removes the single swap. The
reason is that both checks in the same equivalence class:

- load feeds a swap
- swap feeds a store

pass. However, there is no check that the two swaps are actually a single swap.
This patch just fixes that.

Differential revision: https://reviews.llvm.org/D84785
The file was modifiedllvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
The file was addedllvm/test/CodeGen/PowerPC/swaps-le-8.ll
Commit 6d6750696400e7ce988d66a1a00e1d0cb32815f8 by yhs
[clang][BPF] support type exist/size and enum exist/value relocations

This patch added the following additional compile-once
run-everywhere (CO-RE) relocations:
  - existence/size of typedef, struct/union or enum type
  - enum value and enum value existence

These additional relocations will make CO-RE bpf programs more
adaptive for potential kernel internal data structure changes.

For existence/size relocations, the following two code patterns
are supported:
  1. uint32_t __builtin_preserve_type_info(*(<type> *)0, flag);
  2. <type> var;
     uint32_t __builtin_preserve_field_info(var, flag);
flag = 0 for existence relocation and flag = 1 for size relocation.

For enum value existence and enum value relocations, the following code
pattern is supported:
  uint64_t __builtin_preserve_enum_value(*(<enum_type> *)<enum_value>,
                                         flag);
flag = 0 means existence relocation and flag = 1 for enum value.
relocation. In the above <enum_type> can be an enum type or
a typedef to enum type. The <enum_value> needs to be an enumerator
value from the same enum type. The return type is uint64_t to
permit potential 64bit enumerator values.

Differential Revision: https://reviews.llvm.org/D83242
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/builtins-bpf.c
The file was modifiedclang/include/clang/Basic/BuiltinsBPF.def
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-3.c
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-4.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsBPF.td
Commit 4a04bc8995639e1d333790518e4d42e0961f740e by Andrey.Churbanov
[OpenMP] Don't use MSVC workaround with MinGW

Patch by mati865@gmail.com

Differential Revision: https://reviews.llvm.org/D85210
The file was modifiedopenmp/runtime/cmake/LibompMicroTests.cmake
The file was modifiedopenmp/runtime/cmake/LibompExports.cmake
The file was modifiedopenmp/runtime/src/CMakeLists.txt
Commit 593e19629744d6c8ba45fe4bb78910cf653cd6a7 by i
[llvm-symbolizer] Switch command line parsing from llvm::cl to OptTable

for the advantage outlined by D83639 ([OptTable] Support grouped short options)

Some behavior changes:

* -i={0,false} is removed. Use --no-inlines instead.
* --demangle={0,false} is removed. Use --no-demangle instead
* -untag-addresses={0,false} is removed. Use --no-untag-addresses instead

Added a higher level API OptTable::parseArgs which handles optional
initial options populated from an environment variable, expands response
files recursively, and parses options.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D83530
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was addedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/test/tools/llvm-symbolizer/split-dwarf.test
The file was modifiedllvm/test/tools/llvm-symbolizer/untag-addresses.test
The file was modifiedllvm/lib/Option/OptTable.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/test/tools/llvm-symbolizer/basic.s
The file was modifiedllvm/test/tools/llvm-symbolizer/output-style-inlined.test
The file was modifiedllvm/test/tools/llvm-symbolizer/help.test
The file was modifiedllvm/test/DebugInfo/debuglineinfo-path.ll
The file was modifiedllvm/include/llvm/Option/OptTable.h
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was addedllvm/test/tools/llvm-symbolizer/unknown-argument.test
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/tools/llvm-symbolizer/CMakeLists.txt
Commit 444401c31f9f1218aed46348eda23a75766002b2 by Matthew.Arsenault
GlobalISel: Hack a test to avoid a bug introducing a verifier error

There seems to be an unrelated CSEMIRBuilder bug that was causing
expensive checks failures in this case. Hack the test to avoid this
problem for now until that's fixed.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
Commit 05aa29efd7ecaea9631a3ac5c471a4a4749463a2 by flo
[docs] Mention LLVM_ENABLE_MODULES.
The file was modifiedllvm/docs/CMake.rst
Commit a16882047a3f7c37f2c7747a1b2ee0d7619d5645 by spatel
[InstSimplify] refactor min/max folds with shared operand; NFC
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 041c7b84a4b925476d1e21ed302786033bb6035f by Jonas Devlieghere
[lldb/Host] Upstream macOS TCC code

Upstream the code for dealing with TCC introduced in macOS Mojave. This
will make the debuggee instead of the debugger responsible for the
privileges it needs.

Differential revision: https://reviews.llvm.org/D85217
The file was modifiedlldb/source/Host/macosx/objcxx/Host.mm
The file was addedlldb/source/Host/macosx/objcxx/PosixSpawnResponsible.h
Commit 23adbac9ee23c10976e40c80999abf02ecb389b7 by mcinally
[GlobalISel] Don't transform FSUB(-0, X) -> FNEG(X) in GlobalISel.

This patch stops unconditionally transforming FSUB(-0, X) into an FNEG(X) while building the MIR.

This corresponds with the SelectionDAGISel change in D84056.

Differential Revision: https://reviews.llvm.org/D85139
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit 0de547ed4ada068ea618bdb8ce58ddc89de9a42f by Matthew.Arsenault
AMDGPU/GlobalISel: Ensure subreg is valid when selecting G_UNMERGE_VALUES

Fixes verifier error with SGPR unmerges with 96-bit result types.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-unmerge-values.mir
Commit 12605bfd1ff5c6316e74587be1b41d24abd893fc by Xing
[DWARFYAML] Fix unintialized value Is64BitAddrSize. NFC.

This patch fixes the undefined behavior that reported by ubsan.

http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/44524/
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFEmitter.h
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 724b035fe4df89e807f85ee202da8b0bc227895b by mcinally
[GlobalISel] Remove redundant FNEG tests.

These tests were made redundant by D85139.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
Commit 56593fa370124a4d77703e7ddfa4dfca81e0c8f2 by uday
[MLIR] Simplify semi-affine expressions

Simplify semi-affine expression for the operations like ceildiv,
floordiv and modulo by any given symbol by checking divisibilty by that
symbol.

Some properties used in simplification are:

1) Commutative property of the floordiv and ceildiv:
((expr1 floordiv expr2) floordiv expr3 ) = ((expr1 floordiv expr3) floordiv expr2)
((expr1 ceildiv expr2) ceildiv expr3 ) = ((expr1 ceildiv expr3) ceildiv expr2)

While simplification if operations are different no simplification is
possible as there is no property that simplify expressions like these:
((expr1 ceildiv expr2) floordiv expr3) or  ((expr1 floordiv expr2)
ceildiv expr3).

2) If both expr1 and expr2 are divisible by the expr3 then:
(expr1 % expr2) / expr3 = ((expr1 / expr3) % (expr2 / expr3))
where / is divide symbol.

3) If expr1 is divisible by expr2 then expr1 % expr2 = 0.

Signed-off-by: Yash Jain <yash.jain@polymagelabs.com>

Differential Revision: https://reviews.llvm.org/D84920
The file was modifiedmlir/lib/IR/AffineExpr.cpp
The file was modifiedmlir/test/Dialect/Affine/simplify-affine-structures.mlir
Commit 83cb98f9e7a57360e137b32b26500fca630df617 by llvm-dev
Fix sphinx indentation warnings by adding explicit line breaks to address space hierarchy
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 6a4fd03698e1aab09c47215b7eace942a23de074 by thakis
[gn build] (manually) merge 593e1962
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-symbolizer/BUILD.gn
Commit e4441fc653912ec4efc5611a8dd926f8bdd0306c by i
sanitizer_symbolizer_libcdep.cpp: Change --inlining=true to --inlines and --inlining=false to --no-inlines
The file was modifiedcompiler-rt/lib/asan/scripts/asan_symbolize.py
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Commit e31cfc4cd3e393300002e9c519787c96e3b67bab by dblaikie
Fix -Wconstant-conversion warning with explicit cast

Introduced by fd6584a22043b254a323635c142b28ce80ae5b5b

Following similar use of casts in AsmParser.cpp, for instance - ideally
this type would use unsigned chars as they're more representative of raw
data and don't get confused around implementation defined choices of
char's signedness, but this is what it is & the signed/unsigned
conversions are (so far as I understand) safe/bit preserving in this
usage and what's intended, given the API design here.
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit b9266f81bc0a2b53406a84e6ef0c4989d5f7e296 by georgemitenk0v
[MLIR][SPIRVToLLVM] Indentation and style fix in tests

Second patch with test fixes. Redundant `%{{.*}} = `
removed, label checks added, tabs converted to spaces and
some namings are changed to match the convention.

Fixed tests:
- constant-op-to-llvm
- func-ops-to-llvm (renamed)
- memory-ops-to-llvm
- misc-ops-to-llvm
- module-ops-to-llvm
- shift-ops-to-llvm (renamed)
- spirv-types-to-llvm-invalid (renamed)

Reviewed By: ftynse, rriddle

Differential Revision: https://reviews.llvm.org/D85206
The file was addedmlir/test/Conversion/SPIRVToLLVM/shift-ops-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/constant-op-to-llvm.mlir
The file was removedmlir/test/Conversion/SPIRVToLLVM/func-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/misc-ops-to-llvm.mlir
The file was removedmlir/test/Conversion/SPIRVToLLVM/shifts-to-llvm.mlir
The file was addedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm-invalid.mlir
The file was removedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir
The file was addedmlir/test/Conversion/SPIRVToLLVM/func-ops-to-llvm.mlir
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/memory-ops-to-llvm.mlir
Commit 960cef75f4d289e01b338c2f98c5dca2520ee8ff by spatel
[InstSimplify] add tests for compare of min/max; NFC

The test are adapted from the existing tests for cmp/select idioms.
The file was modifiedllvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
Commit 31ec6e969d601eb4fbee7bd4be3d03d23b5b3c11 by rupprecht
[test] Fix another realpath->abspath.

This is a followup to 817b3a6fe3a4452eb61a2503c8beaa7267ca0351: in `builder_base` we should use abspath, not realpath, because the name is significant.
This is used by test cases that use `@skipIf(compiler="clang", compiler_version=['<', <version>])`
The file was modifiedlldb/packages/Python/lldbsuite/test/plugins/builder_base.py
Commit e18c6ef6b41a59af73bf5c3d7d52a8c53a471e5d by JF Bastien
[clang] improve diagnostics for misaligned and large atomics

"Listing the alignment and access size (== expected alignment) in the warning
seems like a good idea."

solves PR 46947

  struct Foo {
    struct Bar {
      void * a;
      void * b;
    };
    Bar bar;
  };

  struct ThirtyTwo {
    struct Large {
      void * a;
      void * b;
      void * c;
      void * d;
    };
    Large bar;
  };

  void braz(Foo *foo, ThirtyTwo *braz) {
    Foo::Bar bar;
    __atomic_load(&foo->bar, &bar, __ATOMIC_RELAXED);

    ThirtyTwo::Large foobar;
    __atomic_load(&braz->bar, &foobar, __ATOMIC_RELAXED);
  }

repro.cpp:21:3: warning: misaligned atomic operation may incur significant performance penalty; the expected (16 bytes) exceeds the actual alignment (8 bytes) [-Watomic-alignment]
  __atomic_load(&foo->bar, &bar, __ATOMIC_RELAXED);
  ^
repro.cpp:24:3: warning: misaligned atomic operation may incur significant performance penalty; the expected (32 bytes) exceeds the actual alignment (8 bytes) [-Watomic-alignment]
  __atomic_load(&braz->bar, &foobar, __ATOMIC_RELAXED);
  ^
repro.cpp:24:3: warning: large atomic operation may incur significant performance penalty; the access size (32 bytes) exceeds the max lock-free size (16  bytes) [-Watomic-alignment]
3 warnings generated.

Differential Revision: https://reviews.llvm.org/D85102
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/test/CodeGen/atomics-sema-alignment.c
Commit f8cc94a61afe48a4b77f111a8ad313fc3b9417de by 1894981+hiraditya
Revert "[HotColdSplit] Add test case for unlikely attribute in outlined function"

This reverts commit aa1f905890fbbfedf396530f1e14409875ece13c.

The flag -codegenprepare maybe causing failures. Reverting this
to investigate the root cause.
The file was modifiedllvm/test/Transforms/HotColdSplit/coldentrycount.ll
Commit 456497450482153afe86838ac2e2be395206d377 by nikita.ppv
[SCCP] Propagate inequalities

Teach SCCP to create notconstant lattice values from inequality
assumes and nonnull metadata, and update getConstant() to make
use of them. Additionally isOverdefined() needs to be changed to
consider notconstant an overdefined value.

Handling inequality branches is delayed until our branch on undef
story in other passes has been improved.

Differential Revision: https://reviews.llvm.org/D83643
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/assume.ll
The file was modifiedllvm/test/Transforms/SCCP/metadata.ll
The file was modifiedllvm/include/llvm/Analysis/ValueLattice.h
Commit 12cb400fd25863154c6d4d26427642cac0e52da1 by i
[llvm-symbolizer] Add compatibility aliases for --inlining={true,false}

D83530 removed --inlining={true,false} which were used by old asan_symbolize.py script.
Add compatibility aliases so that old asan_symbolize.py and sanitizer
binaries can work with new llvm-symbolizer.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D85228
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
The file was modifiedllvm/test/tools/llvm-symbolizer/output-style-inlined.test
The file was modifiedllvm/test/tools/llvm-symbolizer/sym.test
Commit b778b04b69d02a2fa18b22a1858f3eb26c2f7f24 by nikita.ppv
[InstSimplify] Add tests for icmp with urem divisor (NFC)
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit 29fe3fe6155fd79ce731a119ce8065a8a0d26b56 by nikita.ppv
[InstSimplify] Peephole optimization for icmp (urem X, Y), X

This revision adds the following peephole optimization
and it's negation:

    %a = urem i64 %x, %y
    %b = icmp ule i64 %a, %x
    ====>
    %b = true

With John Regehr's help this optimization was checked with Alive2
which suggests it should be valid.

This pattern occurs in the bound checks of Rust code, the program

    const N: usize = 3;
    const T = u8;

    pub fn split_mutiple(slice: &[T]) -> (&[T], &[T]) {
        let len = slice.len() / N;
        slice.split_at(len * N)
    }

the method call slice.split_at will check that len * N is within
the bounds of slice, this bounds check is after some transformations
turned into the urem seen above and then LLVM fails to optimize it
any further. Adding this optimization would cause this bounds check
to be fully optimized away.

ref: https://github.com/rust-lang/rust/issues/74938

Differential Revision: https://reviews.llvm.org/D85092
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit 3c0f34700230fc4fd23ef408adb75387dcfeff41 by bmahjour
[NFC][LV] Vectorized Loop Skeleton Refactoring

This patch tries to improve readability and maintenance
of createVectorizedLoopSkeleton by reorganizing some lines,
updating some of the comments and breaking it up into
smaller logical units.

Reviewed By: pjeeva01

Differential Revision: https://reviews.llvm.org/D83824
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit e8dcf5f87dc20b3f08005ac767ff934e36bf2a5b by ajcbik
[mlir] [VectorOps] Add expand/compress operations to Vector dialect

Introduces the expand and compress operations to the Vector dialect
(important memory operations for sparse computations), together
with a first reference implementation that lowers to the LLVM IR
dialect to enable running on CPU (and other targets that support
the corresponding LLVM IR intrinsics).

Reviewed By: reidtatge

Differential Revision: https://reviews.llvm.org/D84888
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-expand.mlir
The file was modifiedmlir/test/Target/llvmir-intrinsics.mlir
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-scatter.mlir
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/test/Dialect/Vector/ops.mlir
The file was addedmlir/integration_test/Dialect/Vector/CPU/test-compress.mlir
Commit d0ad9e93ce546eb3d372f1b815b164ba137fd701 by Louis Dionne
[libc++abi] Make sure we use a 32 bit guard on 32 bit Aarch64
The file was modifiedlibcxxabi/include/__cxxabi_config.h
Commit 14ed5cf5c461cf34faf5729424b4221d30e24dcc by arsenm2
AMDGPU/GlobalISel: Add baseline tests for andn2/orn2 matching
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
Commit f2942f9c26a39340f8604857c7c90e6ade02a381 by arsenm2
GlobalISel: Add node mappings for frameindex/blockaddress
The file was modifiedllvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
Commit 6cd50e7b75ed39ba1218c724401117cb6e12748d by gyurgyikcp
[libc] Add implementations for isblank, iscntrl, isgraph, ispunct.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D85059
The file was addedlibc/src/ctype/isblank.cpp
The file was addedlibc/src/ctype/isgraph.cpp
The file was modifiedlibc/src/ctype/CMakeLists.txt
The file was addedlibc/test/src/ctype/isgraph_test.cpp
The file was addedlibc/test/src/ctype/ispunct_test.cpp
The file was addedlibc/src/ctype/iscntrl.cpp
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/spec/stdc.td
The file was modifiedlibc/src/ctype/ctype_utils.h
The file was addedlibc/src/ctype/isgraph.h
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was addedlibc/src/ctype/ispunct.h
The file was addedlibc/src/ctype/iscntrl.h
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was addedlibc/src/ctype/ispunct.cpp
The file was modifiedlibc/src/ctype/isalnum.cpp
The file was addedlibc/test/src/ctype/iscntrl_test.cpp
The file was addedlibc/test/src/ctype/isblank_test.cpp
The file was addedlibc/src/ctype/isblank.h
The file was modifiedlibc/test/src/ctype/CMakeLists.txt
Commit 3e16e2152cd1fb3914d4da47d83d5e023dd3f2cb by Matthew.Arsenault
GlobalISel: Handle llvm.localescape

This one is pretty easy and shrinks the list of unhandled
intrinsics. I'm not sure how relevant the insert point is. Using the
insert position of EntryBuilder will place this after
constants. SelectionDAG seems to end up emitting these after argument
copies and before anything else, but I don't think it really
matters. This also ends up emitting these in the opposite order from
SelectionDAG, but I don't think that matters either.

This also needs a fix to stop the later passes dropping this as a dead
instruction. DeadMachineInstructionElim's version of isDead special
cases LOCAL_ESCAPE for some reason, and I'm not sure why it's excluded
from MachineInstr::isLabel (or why isDead doesn't check it).

I also noticed DeadMachineInstructionElim never considers inline asm
as dead, but GlobalISel will drop asm with no constraints.
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-localescape.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/labels-are-not-dead.mir
Commit 0729a772806e5ae38603c164c2f60e5e9f9e65e5 by i
[llvm-symbolizer][test] Fix pdb/pdb.test after D83530

This is a Windows only test which requires HAVE_DIA_SDK, so I failed to notice it.
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb.test
Commit 3bfbc5df87cb0e736fe917e4a8d5166bc0b4ea79 by diego.caballero
[MLIR][Affine] Fix createPrivateMemRef in affine fusion

Always define a remapping for the memref replacement (`indexRemap`)
with the proper number of inputs, including all the `outerIVs`, so that
the number of inputs and the operands provided for the map don't mismatch.

Reviewed By: bondhugula, andydavis1

Differential Revision: https://reviews.llvm.org/D85177
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
Commit 6d218b4adb093ff2e9764febbbc89f429412006c by yhs
BPF: support type exist/size and enum exist/value relocations

Four new CO-RE relocations are introduced:
  - TYPE_EXISTENCE: whether a typedef/record/enum type exists
  - TYPE_SIZE: the size of a typedef/record/enum type
  - ENUM_VALUE_EXISTENCE: whether an enum value of an enum type exists
  - ENUM_VALUE: the enum value of an enum type

These additional relocations will make CO-RE bpf programs
more adaptive for potential kernel internal data structure
changes.

Differential Revision: https://reviews.llvm.org/D83878
The file was modifiedllvm/lib/Target/BPF/BPFCORE.h
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-exist.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-1.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-2.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.h
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-enum-value.ll
Commit 0f2b47b6da0be5e5a597a274bd5c2ae18cc406bd by mcinally
[FastISel] Don't transform FSUB(-0, X) -> FNEG(X) in FastISel

This corresponds with the SelectionDAGISel change in D84056.

Also, rename some poorly named tests in CodeGen/X86/fast-isel-fneg.ll with NFC.

Differential Revision: https://reviews.llvm.org/D85149
The file was removedllvm/test/CodeGen/X86/fast-isel-fneg-kill.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-fneg.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
Commit 1d6a724aa1c11a37ff083cf637f91852e96ce11f by jurahul
[MLIR] Change FunctionType::get() and TupleType::get() to use TypeRange

- Moved TypeRange into its own header/cpp file, and add hashing support.
- Change FunctionType::get() and TupleType::get() to use TypeRange

Differential Revision: https://reviews.llvm.org/D85075
The file was modifiedmlir/include/mlir/IR/Types.h
The file was addedmlir/include/mlir/IR/TypeRange.h
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/lib/IR/OperationSupport.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/IR/Types.cpp
The file was addedmlir/lib/IR/TypeRange.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedflang/lib/Lower/RTBuilder.h
The file was modifiedmlir/lib/IR/TypeDetail.h
Commit 47f7174ffa71d339c1a65d1dd9a2ac5ff2abc95d by sunfish
[WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics.

This allows people to use `int8_t` instead of `char`, -funsigned-char,
and generally decouples SIMD from the specialness of `char`.

And it makes intrinsics like `__builtin_wasm_add_saturate_s_i8x16`
and `__builtin_wasm_add_saturate_u_i8x16` use signed and unsigned
element types, respectively.

Differential Revision: https://reviews.llvm.org/D85074
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedclang/lib/Headers/wasm_simd128.h
Commit a4e537d9c47aa378a24636e2d90d208389ad93ab by iii
[libFuzzer] Fix endianness issue in ForEachNonZeroByte()

The usage pattern of Bundle variable assumes the machine is little
endian, which is not the case on SystemZ. Fix by converting Bundle to
little-endian when necessary.
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.h
Commit 153df1373e5d3e0f16464233a3c17feb8a9eb3e9 by iii
[SanitizerCoverage] Fix types of __stop* and __start* symbols

If a section is supposed to hold elements of type T, then the
corresponding CreateSecStartEnd()'s Ty parameter represents T*.
Forwarding it to GlobalVariable constructor causes the resulting
GlobalVariable's type to be T*, and its SSA value type to be T**, which
is one indirection too many. This issue is mostly masked by pointer
casts, however, the global variable still gets an incorrect alignment,
which causes SystemZ to choose wrong instructions to access the
section.
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/tracing.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
Commit ea9b82da4180550c3ddc5e883c589474af9462b7 by iii
[libFuzzer] Enable for SystemZ

* Add SystemZ to the list of supported architectures.

* XFAIL a few tests.

Coverage reporting is broken, and is not easy to fix (see comment in
coverage.test). Interaction with sanitizers needs to be investigated
more thoroughly, since they appear to reduce coverage in certain cases.
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/test/fuzzer/msan.test
The file was modifiedcompiler-rt/test/fuzzer/swap-cmp.test
The file was modifiedcompiler-rt/test/fuzzer/coverage.test
Commit bb33f925a673f3bb9793d2157c9d3d46d9ad7f25 by Jonas Devlieghere
[lldb/Test] Add missing stdio.h includes

Fixes error: implicit declaration of function 'printf' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
The file was modifiedlldb/test/API/lang/c/global_variables/main.c
The file was modifiedlldb/test/API/commands/target/basic/a.c
Commit bf2aa74e51997ee190f3b34dd26a1b564e59e267 by martin
[OpenMP] support build on msys2/mingw with clang or gcc

RTM Adaptive Locks are supported on msys2/mingw for clang and gcc.

Differential Revision: https://reviews.llvm.org/D81776
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
Commit f0f68c6e6c5e0064c0196e4f1528e910a47766e0 by 1894981+hiraditya
[HotColdSplit] Add test case for unlikely attribute in outlined function

Differential Revision: https://reviews.llvm.org/D85232
The file was modifiedllvm/test/Transforms/HotColdSplit/coldentrycount.ll
Commit 95efea4b9310bb204a42fbf29abd4efa65647000 by efriedma
[AArch64][SVE] Widen narrow sdiv/udiv operations.

The SVE instruction set only supports sdiv/udiv for 32-bit and 64-bit
integers.  If we see an 8-bit or 16-bit divide, widen the operands to 32
bits, and narrow the result.

Differential Revision: https://reviews.llvm.org/D85170
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit e7af98680ad52ffc6d308ef63667ac6fb4bb16a7 by waltermelon
[lldb-vscode ]Add Syntax Highlighting to Disassembly View

When lldb cannot find source file thus IDE renders a disassembly view, add syntax highlighting for constants, registers and final line comments for better debugging experience.
The original plain disassembly view looks like:
{F12401687}
An ideal view is like the screenshot attached.
{F12401515}

In this diff, the mimeType is a kind of media type for formatting the content in the response to a source request. Elements in the disassembly view, like constants, registers and final line comments are colored for highlighting.
A built-in support in the VSCode IDE for syntax highlighting will identify the which mimeType to apply and render the disassembly view as expected.

Reviewed By: wallace, clayborg

Differential Revision: https://reviews.llvm.org/D84555
The file was addedlldb/tools/lldb-vscode/syntaxes/disassembly.json
The file was addedlldb/tools/lldb-vscode/syntaxes/arm64.disasm
The file was addedlldb/tools/lldb-vscode/syntaxes/x86.disasm
The file was modifiedlldb/tools/lldb-vscode/package.json
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was addedlldb/tools/lldb-vscode/syntaxes/arm.disasm
Commit f8fb7835d6a5e2a75d412e1482fc1c039efef1f0 by arsenm2
GlobalISel: Add utilty for getting function argument live ins

Get the argument register and ensure there's a copy to the virtual
register. AMDGPU and AArch64 have similarish code to get the livein
value, and I also want to use this in multiple places.

This is a bit more aggressive about setting the register class than
the original function, but that's probably OK.

I think we're missing a few verifier checks for function live ins. I
noticed AArch64's calling convention code is not actually adding
liveins to functions, only the entry block (which apparently might not
matter that much?). There should probably be a verifier check that
entry block live ins are also live into the function. We also might
need a verifier check that the copy to the livein virtual register is
in the entry block.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-returnaddress-liveins.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-implicit-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
Commit ba3d84d82b750296c11e843365aa85962a561ad4 by Jonas Devlieghere
[lldb/Test] Skip tests that try to get the remote environment

We don't support getting the remote environment. The gdb remote protocol
has no packet for that.
The file was modifiedlldb/test/API/python_api/sbplatform/TestSBPlatform.py
The file was modifiedlldb/test/API/python_api/sbenvironment/TestSBEnvironment.py
Commit 89011fc3c965811bbc3b6a0770c9d94bb264ad3f by arsenm2
AMDGPU/GlobalISel: Select llvm.returnaddress
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-returnaddress.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/returnaddress.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit 65b6dbf9395f8c0b2560f7ffe8dac4b0b32dc2d4 by mtrofin
[llvm][NFC] Moved implementation of TrainingLogger outside of its decl

Also renamed a method - printTensor - to print; and added comments.
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit 486e84dfa4923ba506e715098699fc17aa7f9e40 by arsenm2
AMDGPU/GlobalISel: Use live in helper function for returnaddress
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Commit e8b7edafc3dd0ab85903eebdfdb3bb7cc2d66743 by Jonas Devlieghere
[lldb/Test] Add @skipIfRemote decorator to TestProcessList.py

lldb-platform contains a very minimal support for the qfProcessInfo
packet, only allowing the simplest query to get most of the testsuite
running, and returning very little information about the matched
processes.
The file was modifiedlldb/test/API/commands/platform/process/list/TestProcessList.py
Commit 09897b146a8a7cb934279e630c0027d5d4de7399 by kparzysz
[RDF] Remove uses of RDFRegisters::normalize (deprecate)

This function has been reduced to an identity function for some time.
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
The file was modifiedllvm/lib/CodeGen/RDFRegisters.cpp
The file was modifiedllvm/include/llvm/CodeGen/RDFRegisters.h
Commit 4a47f1c4cedb497915bba14f5288708cedb62767 by efriedma
[SelectionDAG][SVE] Support scalable vectors in getConstantFP()

Differential Revision: https://reviews.llvm.org/D85249
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-vector-splat.ll
Commit f50b3ff02e3245b44b5452b409ca1df22e91be45 by aeubanks
[Hexagon] Use InstSimplify instead of ConstantProp

This is the last remaining use of ConstantProp, migrate it to InstSimplify in the goal of removing ConstantProp.

Add -hexagon-instsimplify option to enable skipping of instsimplify in
tests that can't handle the extra optimization.

Differential Revision: https://reviews.llvm.org/D85047
The file was modifiedllvm/lib/Transforms/Scalar/InstSimplifyPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/isel-setcc-pair.ll
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/isel-qfalse.ll
The file was modifiedllvm/test/CodeGen/Hexagon/loop_correctness.ll
The file was modifiedllvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/test/CodeGen/Hexagon/isel-simplify-crash.ll
The file was modifiedllvm/test/CodeGen/Hexagon/packetize-impdef-1.ll
The file was modifiedllvm/test/CodeGen/Hexagon/store-vector-pred.ll
The file was modifiedllvm/test/CodeGen/Hexagon/bit-bitsplit-regclass.ll
The file was modifiedllvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump-kill.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar/InstSimplifyPass.h
Commit bf82ff61a6dbfec5295d9f24e6b66dcb9a038c6c by Adrian Prantl
Teach SROA to handle allocas with more than one dbg.declare.

It is technically legal for optimizations to create an alloca that is
used by more than one dbg.declare, if one or both of them are inlined
instances of aliasing variables.

Differential Revision: https://reviews.llvm.org/D85172
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was addedllvm/test/Transforms/SROA/dbg-inline.ll
Commit 47fe1b63f449827e1171f944b07d0cbebad1de63 by kparzysz
[RDF] Lower the sorting complexity in RDFLiveness::getAllReachingDefs

The sorting is needed, because reaching defs are (logically) ordered,
but are not collected in that order. This change will break up the
single call to std::sort into a series of smaller sorts, each of which
should use a cheaper comparison function than the original.
The file was modifiedllvm/lib/CodeGen/RDFLiveness.cpp
Commit f0f467aeecfc615a5055d8f2edd903996c11727e by kparzysz
[RDF] Cache register aliases in PhysicalRegisterInfo

This improves performance of PhysicalRegisterInfo::makeRegRef.
The file was modifiedllvm/include/llvm/CodeGen/RDFRegisters.h
The file was modifiedllvm/lib/CodeGen/RDFRegisters.cpp
Commit 4b25f672998fde5cc5bb02411e9268b2bb35655f by kparzysz
[RDF] Really remove remaining uses of PhysicalRegisterInfo::normalize
The file was modifiedllvm/lib/CodeGen/RDFLiveness.cpp
The file was modifiedllvm/lib/CodeGen/RDFGraph.cpp
Commit 00602ee7ef0bf6c68d690a2bd729c12b95c95c99 by yhs
BPF: simplify IR generation for __builtin_btf_type_id()

This patch simplified IR generation for __builtin_btf_type_id().
For __builtin_btf_type_id(obj, flag), previously IR builtin
looks like
   if (obj is a lvalue)
     llvm.bpf.btf.type.id(obj.ptr, 1, flag)  !type
   else
     llvm.bpf.btf.type.id(obj, 0, flag)  !type
The purpose of the 2nd argument is to differentiate
   __builtin_btf_type_id(obj, flag) where obj is a lvalue
vs.
   __builtin_btf_type_id(obj.ptr, flag)

Note that obj or obj.ptr is never used by the backend
and the `obj` argument is only used to derive the type.
This code sequence is subject to potential llvm CSE when
  - obj is the same .e.g., nullptr
  - flag is the same
  - metadata type is different, e.g., typedef of struct "s"
    and strust "s".
In the above, we don't want CSE since their metadata is different.

This patch change IR builtin to
   llvm.bpf.btf.type.id(seq_num, flag)  !type
and seq_num is always increasing. This will prevent potential
llvm CSE.

Also report an error if the type name is empty for
remote relocation since remote relocation needs non-empty
type name to do relocation against vmlinux.

Differential Revision: https://reviews.llvm.org/D85174
The file was modifiedclang/test/CodeGen/builtin-bpf-btf-type-id.c
The file was modifiedllvm/test/CodeGen/BPF/BTF/builtin-btf-type-id.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsBPF.td
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/lib/Target/BPF/BPFPreserveDIType.cpp
Commit 9521704553e8a330cfdf5a0611885680073178b2 by kparzysz
[RDF] Use hash-based containers, cache extra information

This improves performance.
The file was modifiedllvm/include/llvm/CodeGen/RDFRegisters.h
The file was modifiedllvm/lib/CodeGen/RDFLiveness.cpp
The file was modifiedllvm/include/llvm/CodeGen/RDFLiveness.h
Commit 06d425737bd2953cbea319b5f1d4419b54870e6c by kparzysz
[RDF] Add operator<<(raw_ostream&, RegisterAggr), NFC
The file was modifiedllvm/include/llvm/CodeGen/RDFRegisters.h
The file was modifiedllvm/lib/CodeGen/RDFRegisters.cpp
Commit 7e9bab6ad51af1cab0c7457e4323166af3ac797c by Adrian Prantl
Fix debugserver's qProcessInfo reporting of maccatalyst binaries

This patch is similar in spirit to https://reviews.llvm.org/D84480,
but does the maccatalyst/macosx disambiguation. I also took the
opportunity to factor out the gdb-remote packet log scanning used by
several testcases into lldbutil functions.

rdar://problem/66059257

Differential Revision: https://reviews.llvm.org/D84576
The file was addedlldb/test/API/macosx/macCatalyst/Makefile
The file was removedlldb/test/API/macosx/macabi/TestMacABImacOSFramework.py
The file was addedlldb/test/API/macosx/macCatalystAppMacOSFramework/TestMacCatalystAppWithMacOSFramework.py
The file was addedlldb/test/API/macosx/macCatalystAppMacOSFramework/foo.c
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbutil.py
The file was modifiedlldb/tools/debugserver/source/DNB.h
The file was removedlldb/test/API/macosx/macabi/foo.h
The file was addedlldb/test/API/macosx/macCatalyst/TestMacCatalyst.py
The file was modifiedlldb/tools/debugserver/source/RNBRemote.cpp
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
The file was addedlldb/test/API/macosx/macCatalyst/main.c
The file was removedlldb/test/API/macosx/macabi/Makefile
The file was addedlldb/test/API/macosx/macCatalystAppMacOSFramework/foo.h
The file was removedlldb/test/API/macosx/macabi/main.c
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
The file was addedlldb/test/API/macosx/macCatalystAppMacOSFramework/main.c
The file was addedlldb/test/API/macosx/macCatalystAppMacOSFramework/Makefile
The file was removedlldb/test/API/macosx/macabi/foo.c
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.h
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
Commit 3f3303324eb2dc8a7e6d0ff867159c08479609de by lebedev.ri
[NFC][InstCombine] Negator: add tests for negation of left-shift by constant
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
Commit 8fd57b06a4fd04ada4f1d1c4124adc9998be1e5f by lebedev.ri
[NFC][InstCombine] Fix value names (s/%tmp/%i/) and autogenerate a few tests being affected by negator change
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 8aeb2fe13a4100b4c2e78d6ef75119304100cb1f by lebedev.ri
[InstCombine] Negator: -(X << C)  -->  X * (-1 << C)

This shows some regressions in tests, but they are all around GEP's,
so i'm not really sure how important those are.

https://rise4fun.com/Alive/1Gn
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
Commit ac70b37a00dc02bd8923e0a4602d26be4581c570 by lebedev.ri
Revert "[InstCombine] Negator: -(X << C)  -->  X * (-1 << C)"

Breaks codegen tests, will recommit later.

This reverts commit 8aeb2fe13a4100b4c2e78d6ef75119304100cb1f.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub-gep.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
Commit 90b9c49ca6477a85e69018967c0a4d4d38ee6e72 by mtrofin
[llvm] Expose type and element count-related APIs on TensorSpec

Added a mechanism to check the element type, get the total element
count, and the size of an element.

Differential Revision: https://reviews.llvm.org/D85250
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
Commit 03a822f7a676089fca99aac02a057eab8474acc2 by Vitaly Buka
[StackSafety,NFC] Add combined index test
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
Commit 4c9ed3ed3d2fc7622acf5fc0d80ad20b44cf376a by Fred Riss
[lldb/testsuite] Skip 'frame diagnose' tests based on architecture

AFAICS, the feature only works on x86, skipping the tests has nothing to
do with the target being iOS or remote.
The file was modifiedlldb/test/API/commands/frame/diagnose/array/TestArray.py
The file was modifiedlldb/test/API/commands/frame/diagnose/complicated-expression/TestComplicatedExpression.py
The file was modifiedlldb/test/API/commands/frame/diagnose/bad-reference/TestBadReference.py
The file was modifiedlldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
The file was modifiedlldb/test/API/commands/frame/diagnose/dereference-this/TestDiagnoseDereferenceThis.py
The file was modifiedlldb/test/API/commands/frame/diagnose/local-variable/TestLocalVariable.py
The file was modifiedlldb/test/API/commands/frame/diagnose/virtual-method-call/TestDiagnoseDereferenceVirtualMethodCall.py
The file was modifiedlldb/test/API/commands/frame/diagnose/dereference-argument/TestDiagnoseDereferenceArgument.py
The file was modifiedlldb/test/API/commands/frame/diagnose/inheritance/TestDiagnoseInheritance.py
Commit 0c7af8c83bd1acb0ca78f35ddde29b6fde4363a0 by maskray
[X86] Optimize getImpliedDisabledFeatures & getImpliedEnabledFeatures after D83273

Previously the time complexity is O(|number of paths from the root to an
implied feature| * CPU_FWATURE_MAX) where CPU_FEATURE_MAX is 92.

The number of paths can be large (theoretically exponential).

For an inline asm statement, there is a code path
`clang::Parser::ParseAsmStatement -> clang::Sema::ActOnGCCAsmStmt -> ASTContext::getFunctionFeatureMap`
leading to potentially many calls of getImpliedEnabledFeatures (41 for my -march=native case).

We should improve the performance a bit in case the number of inline asm
statements is large (Linux kernel builds).

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D85257
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit dd37b5a35b6923970fff1f9252a9f704981035dc by richard
PR46997: don't run clang-format on clang's testcases.

The formatting of the testcases matters and shouldn't be overwritten by
a tool.
The file was modified.arclint
Commit fe74f731e7024ce8b66869777dca6d6ed5a22e47 by Vitaly Buka
[StackSafety,NFC] Add combined index test

Missing file for the previous patch
The file was addedllvm/test/Bitcode/Inputs/thinlto-function-summary-paramaccess.ll
Commit e3df9471750935876bd2bf7da93ccf0eacca8592 by zequanwu
[llvm-cov] reset executation count to 0 after wrapped segment

Fix the bug: https://bugs.llvm.org/show_bug.cgi?id=36979. It also fixes this bug: https://bugs.llvm.org/show_bug.cgi?id=35404, which I think is caused by the same problem.

Differential Revision: https://reviews.llvm.org/D85036
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedllvm/test/tools/llvm-cov/ignore-filename-regex.test
The file was modifiedllvm/test/tools/llvm-cov/Inputs/instrprof-comdat.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp