Changes

Summary

  1. [X86] Try to avoid casts around logical vector ops recursively. (details)
  2. Reorder targets in alphabetical order. NFC. (details)
  3. PR42108 Consistently diagnose binding a reference template parameter to (details)
  4. List implicit operator== after implicit destructors in a vtable. (details)
  5. Undo changes to release notes intended for the Clang 10 branch, not (details)
  6. [libc++][libc++abi] Fix or suppress failing tests in single-threaded (details)
  7. [mlir] NFC: Fix trivial typos in comments (details)
  8. [StackColoring] Remap FixedStackPseudoSourceValue frame index referenced (details)
  9. [ARM] Favour post inc for MVE loops (details)
  10. [ARM] MVE VLDn post inc tests. NFC (details)
  11. [ARM] MVE VLDn postinc (details)
  12. [LLVMgold][test] Fix llvm-nm test after D72658 (details)
  13. [llvm-mc] - Produce R_X86_64_PLT32 relocation for branches with JCC (details)
  14. [test] Simplify CodeGen/PowerPC/stack-coloring-vararg.mir (details)
  15. [IndVarSimplify][LoopUtils] rewriteLoopExitValues. NFCI (details)
  16. [llvm-objdump] - Fix the indentation when printing dynamic tags. (details)
  17. Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation (details)
  18. [LoopUtils] Better accuracy for getLoopEstimatedTripCount. (details)
  19. [test] On Mac, don't try to use result of sysctl command if calling it (details)
  20. [NFC][LoopUtils] Minor change in comment according to review D71990. (details)
  21. [ARM][MVE] Tail-Predication: rematerialise iteration count in exit (details)
  22. [lldb/DWARF] Change how we construct a llvm::DWARFContext (details)
  23. [X86][SSE] Add PACKSS SimplifyMultipleUseDemandedBits 'sign bit' (details)
  24. [clangd] Remove a stale FIXME, NFC. (details)
  25. Add missing tests for parent traversal (details)
  26. Compare traversal for memoization before bound nodes container (details)
  27. [clang][CodeComplete] Propogate printing policy to FunctionDecl (details)
  28. [LV] Vectorizer should adjust trip count in profile information (details)
  29. Fix clang-formatting for recent commits (details)
  30. [lldb/DWARF] Simplify DWARFDebugInfoEntry::LookupAddress (details)
  31. Make SymbolFileDWARF::ParseLineTable use std::sort instead of insertion (details)
  32. Fix the invisible-traversal to ignore more nodes (details)
  33. [lldb] Don't process symlinks deep inside DWARFUnit (details)
  34. [lldb] Allow loading of minidumps with no process id (details)
  35. [AArch64][SVE] Extend int_aarch64_sve_ld1_gather_imm (details)
  36. [mlir] Add in-dialect lowering of gpu.all_reduce. (details)
  37. [llvm-profdata] Fix hint message since argument format has changed (details)
  38. [ARM,MVE] Fix confusing MC names for MVE VMINA/VMAXA insns. (details)
  39. [mlir] clarify LangRef wording around control flow in regions (details)
  40. [lldb] Mark the implicit copy constructor as deleted when a move (details)
  41. [SCEV] Swap guards estimation sequence. NFC (details)
  42. [InstSimplify] fold select of vector constants that include undef (details)
  43. [lldb][NFC] Add test for iterator invalidation during code completion. (details)
  44. [ms] [llvm-ml] Add placeholder for llvm-ml, based on llvm-mc (details)
  45. [ARM][MVE][Intrinsics] Take abs() of VMINNMAQ, VMAXNMAQ intrinsics' (details)
  46. [Alignment][NFC] Use Align with CreateElementUnorderedAtomicMemCpy (details)
  47. [libomptarget] Implement smid for amdgcn (details)
  48. Fix build - removing legacy target reference. (details)
  49. [llvm-exegesis][NFC] Disassociate snippet generators from benchmark (details)
  50. [gn build] Port 24b7b99b7d6 (details)
  51. [InstCombine] form copysign from select of FP constants (PR44153) (details)
  52. [FileCheck] Clean and improve unit tests (details)
  53. Add support for Linux/Musl ABI (details)
  54. [clangd] Avoid redundant testcases in rename unittest, NFC. (details)
  55. clang-format: [JS] fix `??` opreator wrapping. (details)
  56. [OPENMP]Fix PR44578: crash in target construct with captured global. (details)
  57. [FileCheck] Make Match unittest more flexible (details)
  58. [SelectionDAG] GetDemandedBits - fallback to (details)
  59. [clang-tidy] Add check for CERT-OOP57-CPP (details)
  60. [gn build] Port a42c3eb599c (details)
  61. [llvm-exegesis] Remove unused variable after D72928 (details)
  62. [lldb/Util] Add a utility to run transparently capture and replay tests. (details)
  63. [lldb/Test] Check that attribute exists before comparing its value (details)
  64. [OpenMP] affinity little fix for FreeBSD (details)
  65. [lldb/IOHandler] Improve synchronization between IO handlers. (details)
  66. [clangd] Fix DocumentOutline for concepts (details)
  67. [lldb/Docs] Add lldb-x86_64-fedora to the CI page (details)
  68. AMDGPU/GlobalISel: Add documentation for RegisterBankInfo (details)
  69. [mlir] Generalize broadcastable trait operands (details)
  70. [NFC] small rename of private member in InlineCost.cpp (details)
  71. Fix printer for llvm.addressof symbol name that need escaping (details)
  72. [Hexagon] Add support for Hexagon/HVX v67 ISA (details)
  73. AMDGPU: Partially merge indirect register write handling (details)
  74. AMDGPU: Prepare to use scalar register indexing (details)
  75. AMDGPU: Cleanup and generate 64-bit div tests (details)
  76. [lld][ELF] Don't apply --fix-cortex-a53-843419 to relocatable links. (details)
  77. [AsmPrinter] Don't emit __patchable_function_entries entry if (details)
  78. Revert "PR17164: Change clang's default behavior from (details)
  79. AMDGPU: Don't create weird sized integers (details)
  80. AMDGPU: Generate test checks (details)
  81. Revert "[libc++] Optimize / partially inline basic_string copy (details)
  82. [lld][RISCV] Print error when encountering R_RISCV_ALIGN (details)
  83. [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections (details)
  84. AMDDGPU/GlobalISel: Fix RegBankSelect for llvm.amdgcn.ps.live (details)
  85. [clangd] Fix rename for explicit destructor calls (details)
  86. Revert "[MachO] Add a test for detecting reserved unit length." (details)
  87. [AMDGPU] Fix -Wunused-variable after (details)
  88. [MC] Improve a report_fatal_error (details)
  89. [RISCV] Pass target-abi via module flag metadata (details)
  90. Revert "[AMDGPU] Invert the handling of skip insertion." (details)
  91. [gn build] Port a80291ce10b (details)
  92. [MLIR] LLVM Dialect: add llvm.cmpxchg and improve llvm.atomicrmw custom (details)
  93. [ARM][MVE] Enable masked scatter (details)
  94. Reapply: [MachO] Add a test for detecting reserved unit length. (details)
  95. [LLD][ELF] Add support for INPUT_SECTION_FLAGS (details)
  96. Regenerate rotated uxt tests (details)
  97. [TargetLowering] SimplifyDemandedBits - Pull out InDemandedMask variable (details)
  98. [llvm-exegesis] Add support for AVX512 explicit rounding operands. (details)
  99. [DAG] Fold extract_vector_elt (scalar_to_vector), K to undef (K != 0) (details)
  100. [llvm-readelf][llvm-readobj] - Fix the indentation when printing dynamic (details)
  101. [analyzer] Enable PlacementNewChecker by default (details)
  102. [ELF] Refactor uses of getInputSections to improve efficiency NFC (details)
  103. [lldb][NFC] Convert LLDB_LOGF to LLDB_LOG in ClangASTSource.cpp (details)
  104. [llvm-exegesis] Fix support for LEA64_32r. (details)
  105. Create a gpu.module operation for the GPU Dialect. (details)
  106. [lldb] Use llvm::stable_sort in Line (details)
  107. [Alignment][NFC] Use Align with CreateMaskedLoad (details)
  108. [llvm-readobj] - Remove rpath.test. (details)
  109. [Alignment][NFC] Use Align with CreateElementUnorderedAtomicMemMove (details)
  110. AMDGPU/GlobalISel: Add some baseline tests for unmerge legalization (details)
  111. [clang-tidy] New check: bugprone-misplaced-pointer-arithmetic-in-alloc (details)
  112. [gn build] Port fccd0da5ee6 (details)
  113. [lldb/DWARF] Fix a leak in line table construction (details)
  114. [lldb/breakpad] Use new line table constructor (details)
  115. [TargetLowering] SimplifyDemandedBits ANY_EXTEND/ANY_EXTEND_VECTOR_INREG (details)
  116. [clangd] Capture the missing injected class names in (details)
  117. [X86] combineBT - use SimplifyDemandedBits instead of GetDemandedBits (details)
  118. [SelectionDAG] GetDemandedBits - remove ANY_EXTEND handling (details)
  119. [PowerPC][NFC] Reclaim TSFlags bit 6 (details)
  120. Make dropTriviallyDeadConstantArrays not quadratic (details)
  121. [TargetLowering] SimplifyDemandedBits ISD::SRA multi-use handling (details)
  122. [ARM] Follow AACPS standard for volatile bit-fields access width (details)
  123. Revert "[ARM] Follow AACPS standard for volatile bit-fields access (details)
  124. [RISCV] Check the target-abi module flag matches the option (details)
  125. [clangd] Drop returntype/type when hovering over type-ish names (details)
  126. Update spelling of {analyze,insert,remove}Branch in strings and comments (details)
  127. [Clang] Un-break scan-build after integrated-cc1 change (details)
  128. [mlir][spirv] Simplify scalar type size calculation. (details)
  129. [libcxx] Support Python 3.8 in the test suite (details)
Commit 0ee1db2d1d7aab9e2736c664ebd27fa23919964e by flo
[X86] Try to avoid casts around logical vector ops recursively.
Currently PromoteMaskArithemtic only looks at a single operation to skip
casts. This means we miss cases where we combine multiple masks.
This patch updates PromoteMaskArithemtic to try to recursively promote
AND/XOR/AND nodes that terminate in truncates of the right size or
constant vectors.
Reviewers: craig.topper, RKSimon, spatel
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D72524
The file was modifiedllvm/test/CodeGen/X86/v8i1-masks.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 819421745c5c32c62ec8d632b66eae34f711e192 by michael.hliao
Reorder targets in alphabetical order. NFC.
The file was modifiedllvm/lib/Target/LLVMBuild.txt
Commit 13fa4e2e5ae6ab5403be19e24415e0c7a5569681 by richard
PR42108 Consistently diagnose binding a reference template parameter to
a temporary.
We previously failed to materialize a temporary when performing an
implicit conversion to a reference type, resulting in our thinking the
argument was a value rather than a reference in some cases.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
Commit add2b7e44ada46f30715b5c48823a9e9e317e0c3 by richard
List implicit operator== after implicit destructors in a vtable.
Summary: We previously listed first declared members, then implicit
operator=, then implicit operator==, then implicit destructors. Per
discussion on https://github.com/itanium-cxx-abi/cxx-abi/issues/88, put
the implicit equality comparison operators at the very end, after all
special member functions.
Reviewers: rjmccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72897
The file was addedclang/test/CodeGenCXX/virtual-compare.cpp
The file was modifiedclang/lib/AST/VTableBuilder.cpp
Commit 7a9fa76be7425b5a6fb3dfe7fc4f9e16892628cb by richard
Undo changes to release notes intended for the Clang 10 branch, not
master.
The file was modifiedclang/docs/ReleaseNotes.rst
Commit d15fad2653d429efbf1a7c63c375530f8a1a1fa3 by eric
[libc++][libc++abi] Fix or suppress failing tests in single-threaded
builds.
Fix a libc++abi test that was incorrectly checking for threading
primitives even when threading was disabled.
Additionally, temporarily XFAIL some module tests that fail because the
<atomic> header is unsupported but still built as a part of the std
module.
To properly address this libc++ would either need to produce a different
module.modulemap for single-threaded configurations, or it would need to
make the <atomic> header not hard-error and instead be empty for
single-threaded configurations
The file was modifiedlibcxx/test/libcxx/modules/inttypes_h_exports.sh.cpp
The file was modifiedlibcxx/test/libcxx/modules/cinttypes_exports.sh.cpp
The file was modifiedlibcxx/test/libcxx/modules/cstdint_exports.sh.cpp
The file was modifiedlibcxxabi/test/guard_test_basic.pass.cpp
The file was modifiedlibcxx/test/libcxx/modules/stdint_h_exports.sh.cpp
The file was modifiedlibcxx/test/libcxx/modules/clocale_exports.sh.cpp
Commit fc817b09e25d3b3e0a9cab77f59c5804ffcb6494 by aminim
[mlir] NFC: Fix trivial typos in comments
Differential Revision: https://reviews.llvm.org/D73012
The file was modifiedmlir/docs/ShapeInference.md
The file was modifiedmlir/test/Dialect/SPIRV/target-env.mlir
The file was modifiedmlir/lib/Dialect/VectorOps/VectorTransforms.cpp
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/include/mlir/Dialect/LoopOps/LoopOps.td
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/lib/TestDialect/TestPatterns.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/docs/Dialects/Vector.md
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/docs/ConversionToLLVMDialect.md
The file was modifiedmlir/include/mlir/Support/STLExtras.h
The file was modifiedmlir/lib/IR/Visitors.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
Commit eaab1bf21e1d6803fd217fe6052537fc33b06837 by i
[StackColoring] Remap FixedStackPseudoSourceValue frame index referenced
by MachineMemOperand
StackColoring::remapInstructions() remaps MachineOperand frame index
(e.g. %stack.1 -> %stack.0) but does not remap
FixedStackPseudoSourceValue frame index (e.g. store 4 into
%stack.1.ap2.i.i) referenced by MachineMemoryOperand.
This can cause an assertion failure when LiveDebugValues references a
dead stack object.
It is difficult to craft a test case. -g, va_copy and stack-coloring are
required. I can only reproduce it on ppc32.
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
The file was modifiedllvm/include/llvm/CodeGen/PseudoSourceValue.h
The file was addedllvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir
Commit 5e51f755421761b56453d756e5a89bbed784141a by david.green
[ARM] Favour post inc for MVE loops
We were previously not necessarily favouring postinc for the MVE loads
and stores, leading to extra code prior to the loop to set up the
preinc. MVE in general can benefit from postinc (as we don't have
unrolled loops), and certain instructions like the VLD2's only post-inc
versions are available.
Differential Revision: https://reviews.llvm.org/D70790
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-ptrs.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmla.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vldst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shifts-scalar.ll
Commit d6075726b90184c2f3ff111991e92b21ee6b1475 by david.green
[ARM] MVE VLDn post inc tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-vst4-post.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vst2-post.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vld24.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vld4-post.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vld2-post.ll
Commit ff2e67a4f708e786b8c39f35756d843ed6a822e7 by david.green
[ARM] MVE VLDn postinc
This adds Post inc variants of the VLD2/4 and VST2/4 instructions in
MVE. It uses the same mechanism/nodes as Neon, transforming the
intrinsic+add pair into a ARMISD::VLD2_UPD, which gets selected to a
post-inc instruction. The code to do that is mostly taken from the
existing Neon code, but simplified as less variants are needed.
It also fills in some getTgtMemIntrinsic for the arm.mve.vld2/4
instrinsics, which allow the nodes to have MMO's, calculated as the full
length to the memory being loaded/stored.
Differential Revision: https://reviews.llvm.org/D71194
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-multivec-spill.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4-post.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2-post.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld2-post.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4-post.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst4.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vld24.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vld4.ll
Commit 345e8ed4fcfe5d0c8f457f0ff0096889aec3114f by i
[LLVMgold][test] Fix llvm-nm test after D72658
Differential Revision: https://reviews.llvm.org/D73014
The file was modifiedllvm/test/tools/gold/X86/thinlto.ll
Commit 11e8e324441a875f1346972384be8b5609aa10c8 by grimar
[llvm-mc] - Produce R_X86_64_PLT32 relocation for branches with JCC
opcodes too.
The idea is to produce R_X86_64_PLT32 instead of R_X86_64_PC32 for
branches.
It fixes https://bugs.llvm.org/show_bug.cgi?id=44397.
This patch teaches MC to do that for JCC (jump if condition is met)
instructions. The new behavior matches modern GNU as. It is similar to
D43383, which did the same for "call/jmp foo", but missed JCC cases.
Differential revision: https://reviews.llvm.org/D72831
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
The file was modifiedllvm/test/MC/ELF/basic-elf-64.s
Commit 854f7be20a0cb1a95671a16d6cc8200107ee25f4 by i
[test] Simplify CodeGen/PowerPC/stack-coloring-vararg.mir
The file was modifiedllvm/test/CodeGen/PowerPC/stack-coloring-vararg.mir
Commit 93175a5caa08360ca60b417cc04c094e1ed05c76 by sjoerd.meijer
[IndVarSimplify][LoopUtils] rewriteLoopExitValues. NFCI
This moves `rewriteLoopExitValues()` from IndVarSimplify to LoopUtils
thus making it a generic loop utility function.  This allows to rewrite
loop exit values by just calling this function without running the whole
IndVarSimplify pass.
We use this in D72714 to rematerialise the iteration count in exit
blocks, so that we can clean-up loop update expressions inside the
hardware-loops later.
Differential Revision: https://reviews.llvm.org/D72602
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit 547530cc6a82879c9f777d9c1035a8f0ebcb3cfe by grimar
[llvm-objdump] - Fix the indentation when printing dynamic tags.
We have a bug currently: printed tag names might overlap the value
column. It happens for MIPS now.
This patch adds a logic to calculate the size of indentation on fly to
fix such issues.
Differential revision: https://reviews.llvm.org/D72838
The file was modifiedllvm/tools/llvm-objdump/ELFDump.cpp
The file was modifiedllvm/test/tools/llvm-objdump/elf-dynamic-section.test
The file was modifiedllvm/test/tools/llvm-objdump/elf-dynamic-section-machine-specific.test
Commit 84c4c87e04a48628259e920780623f427a9fd9b1 by SourabhSingh.Tomar
Recommit "[DWARF5][DebugInfo]: Added support for DebugInfo generation
for auto return type for C++ member functions."
Summary: This was reverted in 328e0f3dcac52171b8cdedeaba22c98e7fbb75ea
due to chromium bot failure. This revision addresses that case.
Original commit message: Summary:
   This patch will provide support for auto return type for the C++
member
   functions. Before this return type of the member function is deduced
and
   stored in the DIE.
   This patch includes llvm side implementation of this feature.
    Patch by: Awanish Pandey <Awanish.Pandey@amd.com>
    Reviewers: dblaikie, aprantl, shafik, alok, SouraVX,
jini.susan.george
    Reviewed by: dblaikie
    Differential Revision: https://reviews.llvm.org/D70524
The file was addedllvm/test/DebugInfo/X86/debug-info-auto-return.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Commit 10357e1c89b370a18500a8a8d69a68ab72db979e by evgueni.brevnov
[LoopUtils] Better accuracy for getLoopEstimatedTripCount.
Summary: Current implementation of getLoopEstimatedTripCount returns 1
iteration less than it should. The reason is that in bottom tested loop
first iteration is executed before first back branch is taken. For
example for loop with !{!"branch_weights", i32 1 // taken, i32 1 //
exit} metadata getLoopEstimatedTripCount gives 1 while actual number of
iterations is 2.
Reviewers: Ayal, fhahn
Reviewed By: Ayal
Subscribers: mgorny, hiraditya, zzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71990
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-conditions-pgo-1.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt-idom.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt-idom-2.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/peel-loop-pgo.ll
Commit 952a540b21993e44088ff2c345df884caabbb8c0 by david.spickett
[test] On Mac, don't try to use result of sysctl command if calling it
failed.
If sysctl is not found at all, let the usual exception propogate so that
the user can fix their env. If it fails because of the permissions
required to read the property then print a warning and continue.
Differential Revision: https://reviews.llvm.org/D72278
The file was modifiedllvm/test/lit.cfg.py
Commit cfe97681cdbf8c8c23caad80adeb6551911ccd6e by evgueni.brevnov
[NFC][LoopUtils] Minor change in comment according to review D71990.
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
Commit 8cba99e2aa937b8459e74e2d22d4e2c9d4bdc5d5 by sjoerd.meijer
[ARM][MVE] Tail-Predication: rematerialise iteration count in exit
blocks
This patch uses helper function rewriteLoopExitValues that is refactored
in D72602 to rematerialise the iteration count in exit blocks, so that
we can clean-up loop update expressions inside the hardware-loops later
in ARMLowOverheadLoops, which is necessary to get actual performance
gains for tail-predicated loops.
Differential Revision: https://reviews.llvm.org/D72714
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-reduce-mve-tail.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
Commit 06e73f071ae12dc83c102ddecdb939dea880e588 by pavel
[lldb/DWARF] Change how we construct a llvm::DWARFContext
Summary: The goal of this patch is two-fold. First, it fixes a
use-after-free in the construction of the llvm DWARFContext. This
happened because the construction code was throwing away the lldb
DataExtractors it got while reading the sections (unlike their llvm
counterparts, these are also responsible for memory ownership). In most
cases this did not matter, because the sections are just slices of the
mmapped file data. But this isn't the case for compressed elf sections,
in which case the section is decompressed into a heap buffer. A similar
thing also happen with object files which are loaded from process
memory.
The second goal is to make it explicit which sections go into the llvm
DWARFContext -- any access to the sections through both DWARF parsers
carries a risk of parsing things twice, so it's better if this is a
conscious decision. Also, this avoids loading completely irrelevant
sections (e.g. .text). At present, the only section that needs to be
present in the llvm DWARFContext is the debug_line_str. Using it through
both APIs is not a problem, as there is no parsing involved.
The first goal is achieved by loading the sections through the existing
lldb DWARFContext APIs, which already do the caching. The second by
explicitly enumerating the sections we wish to load.
Reviewers: JDevlieghere, aprantl
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D72917
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-names-compressed.cpp
Commit eaa4548459026707c909884219b5a5ca56678560 by llvm-dev
[X86][SSE] Add PACKSS SimplifyMultipleUseDemandedBits 'sign bit'
handling.
Attempt to use SimplifyMultipleUseDemandedBits to simplify PACKSS if
we're only after the sign bit.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/test/CodeGen/X86/vec_int_to_fp.ll
Commit 61b563408012d17e7e619dedfefac5f38dc2d1d9 by hokein.wu
[clangd] Remove a stale FIXME, NFC.
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
Commit 514e3c3694a3457ea5c1b89420246fd845791afd by steveire
Add missing tests for parent traversal
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit 122443a950521c5d99a0d0479daf57fbd1de2ac2 by steveire
Compare traversal for memoization before bound nodes container
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit 1f946ee2faba5395a04a081fbe561e3d91aa2b3d by kadircet
[clang][CodeComplete] Propogate printing policy to FunctionDecl
Summary: Printing policy was not propogated to functiondecls when
creating a completion string which resulted in canonical template
parameters like
`foo<type-parameter-0-0>`. This patch propogates printing policy to
those as well.
Fixes https://github.com/clangd/clangd/issues/76
Reviewers: ilya-biryukov
Subscribers: jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72715
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was addedclang/test/CodeCompletion/ctor-signature.cpp
Commit af7e1588727c691ae07e286c94dbcbf31060e876 by evgueni.brevnov
[LV] Vectorizer should adjust trip count in profile information
Summary: Vectorized loop processes VFxUF number of elements in one
iteration thus total number of iterations decreases proportionally. In
addition epilog loop may not have more than VFxUF - 1 iterations. This
patch updates profile information accordingly.
Reviewers: hsaito, Ayal, fhahn, reames, silvas, dcaballe, SjoerdMeijer,
mkuper, DaniilSuchkov
Reviewed By: Ayal, DaniilSuchkov
Subscribers: fedor.sergeev, hiraditya, rkruppe, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67905
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was addedllvm/test/Transforms/LoopVectorize/check-prof-info.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/tripcount.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
Commit 8248190a730cd62850afe9bef731ce6726778b4b by steveire
Fix clang-formatting for recent commits
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit b7af1bfa6e31a2a896e8a94a7f086914719e7d5d by pavel
[lldb/DWARF] Simplify DWARFDebugInfoEntry::LookupAddress
Summary: This method was doing a lot more than it's only caller needed
(DWARFDIE::LookupDeepestBlock) needed, so I inline it into the caller,
and remove any code which is not actually used. This includes code for
searching for the deepest function, and the code for working around
incomplete DW_AT_low_pc/high_pc attributes on a compile unit DIE (modern
compiler get this right, and this method is called on function DIEs
anyway).
This also improves our llvm consistency, as llvm::DWARFDebugInfoEntry is
just a very simple struct with no nontrivial logic.
Reviewers: JDevlieghere, aprantl
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D72920
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
Commit 39f1335486eae355b2259d59549382e5cee9e38f by pavel
Make SymbolFileDWARF::ParseLineTable use std::sort instead of insertion
sort
Summary: Motivation: When setting breakpoints in certain projects line
sequences are frequently being inserted out of order.
Rather than inserting sequences one at a time into a sorted line table,
store all the line sequences as we're building them up and sort and
flatten afterwards.
Reviewers: jdoerfert, labath
Reviewed By: labath
Subscribers: teemperor, labath, mgrang, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D72909
The file was modifiedlldb/include/lldb/Symbol/LineTable.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Symbol/LineTable.cpp
Commit 9a3ff478235ccbda23df01a99c5a86eedba54cac by steveire
Fix the invisible-traversal to ignore more nodes
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/unittests/AST/ASTTraverserTest.cpp
Commit 27df2d9f556c3199601ecd1f15c1b37cd49ed9df by pavel
[lldb] Don't process symlinks deep inside DWARFUnit
Summary: This code is handling debug info paths starting with
/proc/self/cwd, which is one of the mechanisms people use to obtain
"relocatable" debug info (the idea being that one starts the debugger
with an appropriate cwd and things "just work").
Instead of resolving the symlinks inside DWARFUnit, we can do the same
thing more elegantly by hooking into the existing Module path remapping
code. Since llvm::DWARFUnit does not support any similar functionality,
doing things this way is also a step towards unifying llvm and lldb
dwarf parsers.
Reviewers: JDevlieghere, aprantl, clayborg, jdoerfert
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71770
The file was modifiedlldb/include/lldb/Core/Module.h
The file was modifiedlldb/include/lldb/Core/ModuleList.h
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py
The file was modifiedlldb/source/Core/CoreProperties.td
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Core/ModuleList.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
Commit 468ca490c6030462066f8e731902d81bab11c356 by pavel
[lldb] Allow loading of minidumps with no process id
Summary: Normally, on linux we retrieve the process ID from the
LinuxProcStatus stream (which is just the contents of /proc/%d/status
pseudo-file).
However, this stream is not strictly required (it's a breakpad
extension), and we are encountering a fair amount of minidumps which do
not have it present. It's not clear whether this is the case with all
these minidumps, but the two known situations where this stream can be
missing are:
- /proc filesystem not mounted (or something to that effect)
- process crashing after exhausting (almost) all file descriptors (so
the minidump writer may not be able to open the /proc file)
Since this is a corner case which will become less and less relevant
(crashpad-generated minidumps should not suffer from this problem), I
work around this problem by hardcoding the PID to 1 in these cases. The
same thing is done by the gdb plugin when talking to a stub which does
not report a process id (e.g. a hardware probe).
Reviewers: jingham, clayborg
Subscribers: markmentovai, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70238
The file was modifiedlldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
The file was addedlldb/test/Shell/Minidump/no-process-id.yaml
Commit 7e717b3990554f0fde43e3747529477a70072cfe by andrzej.warzynski
[AArch64][SVE] Extend int_aarch64_sve_ld1_gather_imm
The ACLE distinguishes between the following addressing modes for gather
loads:
* "scalar base, vector offset", and
* "vector base, scalar offset". For the "vector base, scalar offset"
case, the
`int_aarch64_sve_ld1_gather_imm` intrinsic was added in 79f2422d.
Currently, that intrinsic assumes that the scalar offset is passed as an
immediate.  As a result, it does not cater for cases where scalar offset
is stored in a register.
In this patch `int_aarch64_sve_ld1_gather_imm` is extended so that all
cases are covered:
* `int_aarch64_sve_ld1_gather_imm` is renamed as
`int_aarch64_sve_ld1_gather_scalar_offset`
* new DAG combine rules are added for GLD1_IMM for scenarios where the
offset is a non-immediate scalar or an out-of-range immediate
* sve-intrinsics-gather-loads-vector-base.ll is renamed as
sve-intrinsics-gather-loads-vector-base-imm-offset.ll
* sve-intrinsics-gather-loads-vector-base-scalar-offset.ll is added to
test
file for non-immediate offsets
Similar changes are made for scatter store intrinsics.
Reviewed By: sdesmalen, efriedma
Differential Revision: https://reviews.llvm.org/D71773
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was removedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-vector-base.ll
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-scatter-stores-vector-base-scalar-offset.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-vector-base-scalar-offset.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-scatter-stores-vector-base-imm-offset.ll
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-gather-loads-vector-base-imm-offset.ll
The file was removedllvm/test/CodeGen/AArch64/sve-intrinsics-scatter-stores-vector-base.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-gather-scatter-dag-combine.ll
Commit 8b2eb7c494b296deb1792eed75bb56024bbf1e2b by csigg
[mlir] Add in-dialect lowering of gpu.all_reduce.
Reviewers: ftynse, nicolasvasilache, herhut
Reviewed By: ftynse, herhut
Subscribers: liufengdb, aartbik, herhut, merge_guards_bot, mgorny,
mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst,
nicolasvasilache, arpith-jacob, mgester, lucyrfox, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72129
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/GPU/Passes.h
The file was addedmlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
The file was modifiedmlir/lib/Dialect/GPU/CMakeLists.txt
The file was addedmlir/test/lib/Transforms/TestAllReduceLowering.cpp
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was addedmlir/test/Dialect/GPU/all-reduce.mlir
The file was modifiedmlir/include/mlir/IR/Block.h
Commit 01bfb366acf3650b91a80b922f2fc7b6e660f686 by yikong
[llvm-profdata] Fix hint message since argument format has changed
"-sample" option is now changed to "--sample".
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/test/tools/llvm-profdata/text-format-errors.test
Commit f3e73e88fdd63e3342977873a5f2c3f870a2497a by simon.tatham
[ARM,MVE] Fix confusing MC names for MVE VMINA/VMAXA insns.
Summary: A recent commit accidentally defined names like `MVE_VMAXAs8`
as instances of the multiclass `MVE_VMINA`, and vice versa. This has no
effect on the test suite, because nothing directly refers to those
instruction names (the isel patterns are generated in Tablegen using
`!cast<Instruction>(NAME)` inside a lower-level multiclass). But it
means that `llvm-mc -show-inst` was listing VMAXA as VMINA, and it would
also affect any further draft code gen patches that use those
instruction ids.
Reviewers: MarkMurrayARM, dmgreen, miyuki, ostannard
Reviewed By: dmgreen
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73034
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit f63f5a228f30199ed04f9a862e6125ccb977e530 by zinenko
[mlir] clarify LangRef wording around control flow in regions
It was unclear what "exiting a region" meant in the existing
formulation. Phrase it in terms of control flow transfer to the
operation enclosing the region.
Discussion:
https://groups.google.com/a/tensorflow.org/d/msg/mlir/73d2O8gjTuA/xVj1KoCTBAAJ
The file was modifiedmlir/docs/LangRef.md
Commit 22447a61d405a9e279c7dad72b342dcc6e8b1b4b by Raphael Isemann
[lldb] Mark the implicit copy constructor as deleted when a move
constructor is provided.
Summary: CXXRecordDecls that have a move constructor but no copy
constructor need to have their implicit copy constructor marked as
deleted (see C++11 [class.copy]p7, p18) Currently we don't do that when
building an AST with ClangASTContext which causes Sema to realise that
the AST is malformed and asserting when trying to create an implicit
copy constructor for us in the expression:
``` Assertion failed: ((data().DefaultedCopyConstructorIsDeleted ||
needsOverloadResolutionForCopyConstructor())
   && "Copy constructor should not be deleted"), function
setImplicitCopyConstructorIsDeleted, file include/clang/AST/DeclCXX.h,
line 828.
```
In the test case there is a class `NoCopyCstr` that should have its copy
constructor marked as deleted (as it has a move constructor). When we
end up trying to tab complete in the
`IndirectlyDeletedCopyCstr` constructor, Sema realises that the
`IndirectlyDeletedCopyCstr` has no implicit copy constructor and tries
to create one for us. It then realises that
`NoCopyCstr` also has no copy constructor it could find via lookup.
However because we haven't marked the FieldDecl as having a deleted copy
constructor the
`needsOverloadResolutionForCopyConstructor()` returns false and the
assert fails.
`needsOverloadResolutionForCopyConstructor()` would return true if
during the time we added the `NoCopyCstr` FieldDecl to
`IndirectlyDeletedCopyCstr` we would have actually marked it as having a
deleted copy constructor (which would then mark the copy constructor of
`IndirectlyDeletedCopyCstr ` as needing overload resolution and Sema is
happy).
This patch sets the correct mark when we complete our CXXRecordDecls
(which is the time when we know whether a copy constructor has been
declared). In theory we don't have to do this if we had a Sema around
when building our debug info AST but at the moment we don't have this so
this has to do the job for now.
Reviewers: shafik
Reviewed By: shafik
Subscribers: aprantl, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D72694
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/deleting-implicit-copy-constructor/main.cpp
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash1/main.cpp
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash1/TestCompletionCrash1.py
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/deleting-implicit-copy-constructor/TestDeletingImplicitCopyConstructor.py
The file was modifiedlldb/unittests/Symbol/TestClangASTContext.cpp
Commit de34b54edce4b7b4e4a68a02fae10283b3e2d7ea by dfukalov
[SCEV] Swap guards estimation sequence. NFC
Summary: Loop unroll spends a lot of time in SCEVs processing in case
when a function contains hundreds of simple 'for' loops with a quite
complex arrays indexes like
  for (int i = 0; i < 8; ++i) {
   for (int j = 0; j < 32; ++j) {
     C[j*8+i] = B[j*32+i+128] + A[i*64+128];
   }
}
for (int i = 0; i < 8; ++i) {
   for (int j = 0; j < 8; ++j) {
     for (int k = 0; k < 32; ++k) {
       D[k*64+i*8+j] = D[k*64+i*8+j] + E[i+16] * C[k*8+j+256];
     }
   }
}
The patch improves loop unroll speed since isLoopBackedgeGuardedByCond
takes much less time than isLoopEntryGuardedByCond in the edge case.
Reviewers: skatkov, sanjoy, mkazantsev
Reviewed By: sanjoy
Subscribers: fhahn, hiraditya, javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72929
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit da9c93f330e0e4bb12972ee7c67229c36943a0c1 by spatel
[InstSimplify] fold select of vector constants that include undef
elements
As mentioned in D72643, we'd like to be able to assert that any select
of equivalent constants has been removed before we're deep into
InstCombine.
But there's a loophole in that assertion for vectors with undef elements
that don't match exactly.
This patch should close that gap. If we have undefs, we can't safely
propagate those unless both constants elements for that lane are undef.
Differential Revision: https://reviews.llvm.org/D72958
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
Commit 65bab53afb8be61cddae4d8a08dd3d9572de1f66 by Raphael Isemann
[lldb][NFC] Add test for iterator invalidation during code completion.
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash-invalid-iterator/main.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash-invalid-iterator/Makefile
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
Commit 5f6dfa800e0b9c337921e188bd171b9765bfbe89 by epastor
[ms] [llvm-ml] Add placeholder for llvm-ml, based on llvm-mc
As discussed on the mailing list, I plan to introduce an ml-compatible
MASM assembler as part of providing more of the Windows build tools.
This will be similar to llvm-mc, but with different command-line
parameters.
This placeholder is purely a stripped-down version of llvm-mc; we'll
eventually add support for the Microsoft-style command-line flags, and
back it with a MASM parser.
Relanding this revision after fixing ARM-compatibility issues.
Reviewers: rnk, thakis, RKSimon
Reviewed By: thakis, RKSimon
Differential Revision: https://reviews.llvm.org/D72679
The file was addedllvm/tools/llvm-ml/CMakeLists.txt
The file was addedllvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
The file was addedllvm/test/tools/llvm-ml/basic.test
The file was addedllvm/tools/llvm-ml/Disassembler.h
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
The file was addedllvm/tools/llvm-ml/Disassembler.cpp
The file was modifiedllvm/test/CMakeLists.txt
The file was addedllvm/test/tools/llvm-ml/run.test
The file was addedllvm/tools/llvm-ml/llvm-ml.cpp
Commit b10a0eb04adfc4186cc6198cf8231358b2b04d89 by mark.murray
[ARM][MVE][Intrinsics] Take abs() of VMINNMAQ, VMAXNMAQ intrinsics'
first arguments.
Summary: Fix VMINNMAQ, VMAXNMAQ intrinsics; BOTH arguments have the
absolute values taken.
Reviewers: dmgreen, simon_tatham
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D72830
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedclang/include/clang/Basic/arm_mve.td
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vmaxnmaq.c
The file was modifiedclang/test/CodeGen/arm-mve-intrinsics/vminnmaq.c
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmaxnmaq.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-intrinsics/vminnmaq.ll
Commit 46b9563cf68a8a094276b471632fa15eec954d53 by gchatelet
[Alignment][NFC] Use Align with CreateElementUnorderedAtomicMemCpy
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet, nicolasvasilache
Subscribers: hiraditya, jfb, mehdi_amini, rriddle, jpienaar, burmako,
shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut,
liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73041
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Commit 03c2a59cd696135d79528d39e8e82ee59c1fcf97 by jonathanchesterfield
[libomptarget] Implement smid for amdgcn
Summary:
[libomptarget] Implement smid for amdgcn
Implementation is in a new file as it uses an intrinsic with complicated
encoding that warranted substantial comments.
Reviewers: jdoerfert, grokos, ABataev, ronlieb
Reviewed By: jdoerfert
Subscribers: jvesely, mgorny, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D72956
The file was addedopenmp/libomptarget/deviceRTLs/amdgcn/src/amdgcn_smid.hip
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
Commit 6ccebe004446b2b7362f96dd5cf7cbc2ed3facde by epastor
Fix build - removing legacy target reference.
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
The file was modifiedllvm/tools/llvm-ml/CMakeLists.txt
Commit 24b7b99b7d68e1a234078eff639ccfbb7661eee5 by Milos.Stojanovic
[llvm-exegesis][NFC] Disassociate snippet generators from benchmark
runners
The addition of `inverse_throughput` mode highlighted the disjointedness
of snippet generators and benchmark runners because it used the
`UopsSnippetGenerator` with the  `LatencyBenchmarkRunner`. To keep the
code consistent tie the snippet generators to
parallelization/serialization rather than their benchmark runners.
Renaming `LatencySnippetGenerator` -> `SerialSnippetGenerator`. Renaming
`UopsSnippetGenerator` -> `ParallelSnippetGenerator`.
Differential Revision: https://reviews.llvm.org/D72928
The file was addedllvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.h
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was addedllvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.h
The file was modifiedllvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Mips/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/CMakeLists.txt
The file was addedllvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
The file was addedllvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h
The file was addedllvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was removedllvm/tools/llvm-exegesis/lib/Uops.h
The file was modifiedllvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp
The file was addedllvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.h
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/TestBase.h
The file was removedllvm/tools/llvm-exegesis/lib/Latency.cpp
The file was modifiedllvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
The file was removedllvm/tools/llvm-exegesis/lib/Uops.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Analysis.cpp
The file was addedllvm/tools/llvm-exegesis/lib/UopsBenchmarkRunner.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was addedllvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
The file was removedllvm/tools/llvm-exegesis/lib/Latency.h
Commit 9ecfaad7573bdc6725cc717cb79c9b0a32f9765a by llvmgnsyncbot
[gn build] Port 24b7b99b7d6
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Commit 7bee94410ce265833695128dfad7fbd7a8eef6ba by spatel
[InstCombine] form copysign from select of FP constants (PR44153)
This should be the last step needed to solve the problem in the
description of PR44153: https://bugs.llvm.org/show_bug.cgi?id=44153
If we're casting an FP value to int, testing its signbit, and then
choosing between a value and its negated value, that's a complicated way
of saying "copysign":
(bitcast X) <  0 ? -TC :  TC --> copysign(TC,  X)
Differential Revision: https://reviews.llvm.org/D72643
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit abd0ab389ee3351dc577a08f939493b67ce39f32 by thomasp
[FileCheck] Clean and improve unit tests
Summary: Clean redundant unit test checks (codepath already tested
elsewhere) and add a few missing checks for existing numeric
substitution and match logic.
Reviewers: jhenderson, jdenny, probinson, grimar, arichardson, rnk
Reviewed By: jhenderson
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72912
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit 7fee4fed4c75c13d0cec7ff3a043e0313a3abc55 by sidneym
Add support for Linux/Musl ABI
Differential revision: https://reviews.llvm.org/D72701
The patch adds a new option ABI for Hexagon. It primary deals with the
way variable arguments are passed and is use in the Hexagon Linux Musl
environment.
If a callee function has a variable argument list, it must perform the
following operations to set up its function prologue:
  1. Determine the number of registers which could have been used for
passing
    unnamed arguments. This can be calculated by counting the number of
    registers used for passing named arguments. For example, if the
callee
    function is as follows:
         int foo(int a, ...){ ... }
     ... then register R0 is used to access the argument ' a '. The
registers
    available for passing unnamed arguments are R1, R2, R3, R4, and R5.
  2. Determine the number and size of the named arguments on the stack.
  3. If the callee has named arguments on the stack, it should copy all
of these
    arguments to a location below the current position on the stack, and
the
    difference should be the size of the register-saved area plus
padding
    (if any is necessary).
     The register-saved area constitutes all the registers that could
have
    been used to pass unnamed arguments. If the number of registers
forming
    the register-saved area is odd, it requires 4 bytes of padding; if
the
    number is even, no padding is required. This is done to ensure an
8-byte
    alignment on the stack.  For example, if the callee is as follows:
       int foo(int a, ...){ ... }
     ... then the named arguments should be copied to the following
location:
       current_position - 5 (for R1-R5) * 4 (bytes) - 4 (bytes of
padding)
     If the callee is as follows:
        int foo(int a, int b, ...){ ... }
     ... then the named arguments should be copied to the following
location:
        current_position - 4 (for R2-R5) * 4 (bytes) - 0 (bytes of
padding)
  4. After any named arguments have been copied, copy all the registers
that
    could have been used to pass unnamed arguments on the stack. If the
number
    of registers is odd, leave 4 bytes of padding and then start copying
them
    on the stack; if the number is even, no padding is required. This
    constitutes the register-saved area. If padding is required, ensure
    that the start location of padding is 8-byte aligned.  If no padding
is
    required, ensure that the start location of the on-stack copy of the
    first register which might have a variable argument is 8-byte
aligned.
  5. Decrement the stack pointer by the size of register saved area plus
the
    padding.  For example, if the callee is as follows:
        int foo(int a, ...){ ... } ;
     ... then the decrement value should be the following:
        5 (for R1-R5) * 4 (bytes) + 4 (bytes of padding) = 24 bytes
     The decrement should be performed before the allocframe
instruction.
    Increment the stack-pointer back by the same amount before returning
    from the function.
The file was addedllvm/test/CodeGen/Hexagon/vacopy.ll
The file was addedllvm/test/CodeGen/Hexagon/vararg-linux-abi.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.h
The file was addedllvm/test/CodeGen/Hexagon/vararg.ll
The file was addedllvm/test/CodeGen/Hexagon/vararg_align_check.ll
The file was addedllvm/test/CodeGen/Hexagon/vararg_named.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was addedllvm/test/CodeGen/Hexagon/vararg-deallocate-sp.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h
The file was addedllvm/test/CodeGen/Hexagon/vararg_double_onstack.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
Commit 3de9a5db629ac9d633576513d025a8f038a3cdec by hokein.wu
[clangd] Avoid redundant testcases in rename unittest, NFC.
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73035
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit 4c9d6914453d970b7b8202b7efd7524b2f0a72ac by martin
clang-format: [JS] fix `??` opreator wrapping.
Summary: clang-format currently treats the nullish coalescing operator
`??` like the ternary operator. That causes multiple nullish terms to be
each indented relative to the last `??`, as they would in a ternary.
The `??` operator is often used in chains though, and as such more
similar to other binary operators, such as `||`. So to fix the indent,
set its token type to `||`, so it inherits the same treatment.
This opens up the question of operator precedence. However, `??` is
required to be parenthesized when mixed with `||` and `&&`, so this is
not a problem that can come up in syntactically legal code.
Reviewers: krasimir
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73026
The file was modifiedclang/unittests/Format/FormatTestJS.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
Commit 366356361cf3abf97fbcfe9a0467b1ed1610401f by a.bataev
[OPENMP]Fix PR44578: crash in target construct with captured global.
Target regions have implicit outer region which may erroneously capture
some globals when it should not. It may lead to a compiler crash at the
compile time.
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
Commit a81e0442bdb1fafb9219b338176e00f4c9054377 by thomasp
[FileCheck] Make Match unittest more flexible
Summary: FileCheck's Match unittest needs updating whenever some call to
initNextPattern() is inserted before its final block of checks. This
commit change usage of LineNumber inside the Tester object so that the
line number of the current pattern can be queries, thereby making the
Match test more solid.
Reviewers: jhenderson, jdenny, probinson, grimar, arichardson, rnk
Reviewed By: jhenderson
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72913
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit 9c06c10fbae941feaf2738962d7ee58745b33725 by llvm-dev
[SelectionDAG] GetDemandedBits - fallback to
SimplifyMultipleUseDemandedBits by default.
First step towards removing SelectionDAG::GetDemandedBits entirely since
it so similar to SimplifyMultipleUseDemandedBits anyhow.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit a42c3eb599cb3b83a07e6296d4ade213f1d74f0f by nathan
[clang-tidy] Add check for CERT-OOP57-CPP
Summary: This is a very basic warning implementation of [[
https://wiki.sei.cmu.edu/confluence/display/cplusplus/OOP57-CPP.+Prefer+special+member+functions+and+overloaded+operators+to+C+Standard+Library+functions
| Prefer special member functions and overloaded operators to C Standard
Library functions ]]
It absolutely needs some fine tuning though.
Reviewers: alexfh, hokein, aaron.ballman, JonasToth
Reviewed By: aaron.ballman
Subscribers: merge_guards_bot, Eugene.Zelenko, mgorny, xazax.hun,
cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D72488
The file was addedclang-tools-extra/docs/clang-tidy/checks/cert-oop57-cpp.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/cert-oop57-cpp.cpp
The file was addedclang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.h
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was modifiedclang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
The file was addedclang-tools-extra/clang-tidy/cert/NonTrivialTypesLibcMemoryCallsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 0a71ac8494d7f7e387c8ceb54d427c039184b589 by llvmgnsyncbot
[gn build] Port a42c3eb599c
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn
Commit b37f6d3af100dacf550888aef21787c2b2494ad0 by Milos.Stojanovic
[llvm-exegesis] Remove unused variable after D72928
The file was modifiedllvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
Commit 67420f1b0e9c673ee638f2680fa83f468019004f by Jonas Devlieghere
[lldb/Util] Add a utility to run transparently capture and replay tests.
This patch introduces a small new utility (lldb-repro) to transparently
capture and replay debugger sessions through the command line driver.
Its used to test the reproducers by running the test suite twice.
During the first run, it captures a reproducer for every lldb invocation
and saves it to a well-know location derived from the arguments and
current working directory. During the second run, the test suite is run
again but this time every invocation of lldb replays the previously
recorded session.
Differential revision: https://reviews.llvm.org/D72823
The file was modifiedlldb/test/Shell/Reproducer/lit.local.cfg
The file was modifiedlldb/test/Shell/helper/toolchain.py
The file was modifiedlldb/utils/CMakeLists.txt
The file was addedlldb/utils/lldb-repro/lldb-repro.py
The file was modifiedlldb/test/Shell/lit.cfg.py
The file was addedlldb/utils/lldb-repro/CMakeLists.txt
Commit a17ad3592ff8c69c683c17fa60910ce326a451b0 by Jonas Devlieghere
[lldb/Test] Check that attribute exists before comparing its value
The file was modifiedlldb/test/Shell/Reproducer/lit.local.cfg
The file was modifiedlldb/utils/lldb-repro/lldb-repro.py
Commit ea99c09963488130ec0a61ef39df3fd0fcecad3c by David CARLIER
[OpenMP] affinity little fix for FreeBSD
- pthread affinity np has different semantic than sched affinity
counterpart. On success returns strictly 0.
Reviewers: chandlerc, AndreyChurbanov, jdoerfert
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D72132
The file was modifiedopenmp/runtime/src/kmp_affinity.h
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
Commit 04de24e690d3ff23bf63bc3901765cd8f07723f3 by Jonas Devlieghere
[lldb/IOHandler] Improve synchronization between IO handlers.
The way the IO handlers are currently managed by the debugger is wrong.
The implementation lacks proper synchronization between RunIOHandlerSync
and RunIOHandlers. The latter is meant to be run by the "main thread",
while the former is meant to be run synchronously, potentially from a
different thread.
Imagine a scenario where RunIOHandlerSync is called from a different
thread than RunIOHandlers. Both functions manipulate the debugger's
IOHandlerStack. Although the push and pop operations are synchronized,
the logic to activate, deactivate and run IO handlers is not.
While investigating PR44352, I noticed some weird behavior in the
Editline implementation. One of its members (m_editor_status) was
modified from another thread. This happened because the main thread,
while running RunIOHandlers ended up execution the IOHandlerEditline
created by the breakpoint callback thread. Even worse, due to the lack
of synchronization within the IO handler implementation, both threads
ended up executing the same IO handler.
Most of the time, the IO handlers don't need to run synchronously. The
exception is sourcing commands from external files, like the .lldbinit
file.
I've added a (recursive) mutex to prevent another thread from messing
with the IO handlers wile another thread is running one synchronously.
It has to be recursive, because we might have to source another file
when encountering a command source in the original file.
Differential revision: https://reviews.llvm.org/D72748
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_callback_command_source/main.c
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_callback_command_source/source.lldb
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_callback_command_source/TestBreakpointCallbackCommandSource.py
The file was modifiedlldb/source/Core/Debugger.cpp
The file was addedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_callback_command_source/Makefile
Commit fb3d9153c01b9a560680465190d6ecd804e4c486 by kadircet
[clangd] Fix DocumentOutline for concepts
Summary: Fixes https://github.com/clangd/clangd/issues/256
Reviewers: kbobyrev
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73056
The file was modifiedclang-tools-extra/clangd/FindSymbols.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
Commit d053b7a2978efe72c746fc65044a2dbba192bfe3 by Jonas Devlieghere
[lldb/Docs] Add lldb-x86_64-fedora to the CI page
The file was modifiedlldb/docs/resources/bots.rst
Commit f6418d72f572ced8e1f58fc18fb973da1c956162 by arsenm2
AMDGPU/GlobalISel: Add documentation for RegisterBankInfo
Document some high level strategies that should be used for register
bank selection. The constant bus restriction section hasn't actually
been implemented yet.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit b70e4efb75bf1670fa335f3211c05b26b060ffde by jpienaar
[mlir] Generalize broadcastable trait operands
Summary: Generalize broadcastable trait to variadic operands. Update the
documentation that still talked about element type as part of
broadcastable trait (that bug was already fixed). Also rename
Broadcastable to ResultBroadcastableShape to be more explicit that the
trait affects the result shape (it is possible for op to allow
broadcastable operands but not have result shape that is broadcast
compatible with operands).
Doing some intermediate work to have getBroadcastedType take an optional
elementType as input and use that if specified, instead of the common
element type of type1 and type2 in this function.
Differential Revision: https://reviews.llvm.org/D72559
The file was modifiedmlir/include/mlir/Dialect/Traits.h
The file was modifiedmlir/test/Dialect/traits.mlir
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/test/lib/TestDialect/TestOps.td
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/Dialect/Traits.cpp
Commit 2e42cc7a50e867d939cac6ee3d375a85a30b984d by mtrofin
[NFC] small rename of private member in InlineCost.cpp
Summary: Follow-up from https://reviews.llvm.org/D71733. Also moved an
initialization to the base class, where it belonged in the first place.
Reviewers: eraman, davidxl
Reviewed By: davidxl
Subscribers: hiraditya, haicheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72949
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit fdb9cc7dc560f6e56df55dd4be1c88b83636184d by aminim
Fix printer for llvm.addressof symbol name that need escaping
Differential Revision: https://reviews.llvm.org/D73065
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/global.mlir
Commit c12a5917d2f2ace092118e638913b1c45888363e by kparzysz
[Hexagon] Add support for Hexagon/HVX v67 ISA
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepITypes.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepTimingClasses.h
The file was modifiedclang/include/clang/Basic/BuiltinsHexagon.def
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was removedllvm/lib/Target/Hexagon/HexagonInstrFormatsV5.td
The file was addedllvm/lib/Target/Hexagon/HexagonDepMask.h
The file was modifiedclang/test/Preprocessor/hexagon-predefines.c
The file was addedllvm/test/MC/Hexagon/extensions/v67_hvx.s
The file was modifiedllvm/lib/Target/Hexagon/HexagonPseudo.td
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsHexagonDep.td
The file was addedllvm/test/MC/Hexagon/v67_all.s
The file was addedllvm/lib/Target/Hexagon/HexagonArch.h
The file was addedllvm/test/CodeGen/Hexagon/intrinsics-v67.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepITypes.td
The file was modifiedclang/include/clang/Basic/BuiltinsHexagonDep.def
The file was modifiedclang/lib/Basic/Targets/Hexagon.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatterns.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepArch.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonSchedule.td
The file was modifiedllvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/Target/Hexagon/Hexagon.td
The file was addedllvm/test/CodeGen/Hexagon/df-min-max.ll
The file was addedllvm/test/MC/Hexagon/v67.s
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepDecoders.inc
The file was addedclang/test/CodeGen/builtins-hexagon-v67-audio.c
The file was modifiedllvm/test/CodeGen/Hexagon/swp-sigma.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepInstrFormats.td
The file was modifiedllvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
The file was addedllvm/test/CodeGen/Hexagon/fminmax-v67.ll
The file was addedllvm/test/CodeGen/Hexagon/fmul-v67.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepArch.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrFormats.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepOperands.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonSubtarget.cpp
The file was addedllvm/lib/Target/Hexagon/HexagonScheduleV67.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepIICScalar.td
The file was modifiedclang/lib/Basic/Targets/Hexagon.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepMappings.td
The file was addedclang/test/CodeGen/builtins-hexagon-v67.c
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepIICHVX.td
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedclang/include/clang/Driver/Options.td
Commit 8615eeb455618fabe962f6951ccd8fe95b26bb15 by arsenm2
AMDGPU: Partially merge indirect register write handling
a785209bc2fb switched to using a pseudos instead of manually tying
operands on the regular instruction. The VGPR indexing mode path should
have the same problems that change attempted to avoid, so these should
use the same strategy.
Use a single pseudo for the VGPR indexing mode and movreld paths, and
expand it based on the subtarget later. These have essentially the same
constraints, reading the index from m0.
Switch from using an offset to the subregister index directly, instead
of computing an offset and re-adding it back. Also add missing pseudos
for existing register class sizes.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 9b13b4a0e3a192a3b0d938bfaa71ce6dc0740ece by arsenm2
AMDGPU: Prepare to use scalar register indexing
Define pseudos mirroring the the VGPR indexing ones, and adjust the
operands in the s_movrel* instructions to avoid the result def.
The file was modifiedllvm/test/CodeGen/AMDGPU/inserted-wait-states.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
Commit 317fdcd09ae9df1eaf1da40443d59b8b2bf68b8b by arsenm2
AMDGPU: Cleanup and generate 64-bit div tests
Split out r600 tests, and try to be more consistent with coverage. Cover
a few more cases for 24-bit optimization and constants.
The file was addedllvm/test/CodeGen/AMDGPU/sdivrem64.r600.ll
The file was addedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was addedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was addedllvm/test/CodeGen/AMDGPU/udivrem64.r600.ll
The file was removedllvm/test/CodeGen/AMDGPU/sdivrem64.ll
The file was removedllvm/test/CodeGen/AMDGPU/udivrem64.ll
The file was addedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was addedllvm/test/CodeGen/AMDGPU/urem64.ll
Commit c81fe34718d7bc4088c849b507cc7038e043f1bc by efriedma
[lld][ELF] Don't apply --fix-cortex-a53-843419 to relocatable links.
The code doesn't apply the fix correctly to relocatable links. I could
try to fix the code that applies the fix, but it's pointless: we don't
actually know what the offset will be in the final executable. So just
ignore the flag for relocatable links.
Issue discovered building Android.
Differential Revision: https://reviews.llvm.org/D72968
The file was modifiedlld/test/ELF/aarch64-cortex-a53-843419-recognize.s
The file was modifiedlld/ELF/Driver.cpp
Commit d232c215669cb57f5eb4ead40a4a336220dbc429 by i
[AsmPrinter] Don't emit __patchable_function_entries entry if
"patchable-function-entry"="0"
Add improve tests
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry.ll
The file was modifiedllvm/test/CodeGen/X86/patchable-function-entry.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Commit edd4398f4cd33a305afbca76ac4e6590e9337f4d by 31459023+hctim
Revert "PR17164: Change clang's default behavior from
-flax-vector-conversions=all to -flax-vector-conversions=integer."
This patch broke the Sanitizer buildbots. Please see the commit's
differential revision for more information
(https://reviews.llvm.org/D67678).
This reverts commit b72a8c65e4e34779b6bc9e466203f553f5294486.
The file was modifiedclang/test/Headers/x86intrin.c
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Headers/x86intrin-2.c
The file was modifiedclang/test/Sema/vector-assign.c
The file was modifiedclang/test/Headers/arm-neon-header.c
The file was modifiedclang/test/Sema/vector-cast.c
The file was modifiedclang/docs/CommandGuide/clang.rst
The file was modifiedclang/test/Headers/altivec-header.c
The file was modifiedclang/test/Headers/x86-intrinsics-headers.c
The file was modifiedclang/test/Sema/vector-ops.c
Commit e5823bf806ca9fa6f87583065b3898a2edabce57 by arsenm2
AMDGPU: Don't create weird sized integers
There's no reason to introduce a new, unnaturally sized value here. This
has a chance to produce worse code with legalization. Avoids regression
in a future patch.
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Commit 385fb337de97d0b35ee295d16ceb26dfcf4de2ad by arsenm2
AMDGPU: Generate test checks
These weren't much different than copied output anyway.
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
Commit fa40b41168f68cb53cb1a7bb3dcb71ac3010e9d4 by eric
Revert "[libc++] Optimize / partially inline basic_string copy
constructor"
This reverts commit a8a9c8e0a11abc9ed4ed78fed528334371fedf87.
There are multiple reported failures caused by this change. Each failure
is really weird, but it makes sense to revert while investigating.
The file was modifiedlibcxx/include/string
Commit d1da63664f4e42191daf2e6a9fa682ca9f75ef5e by jrtc27
[lld][RISCV] Print error when encountering R_RISCV_ALIGN
Summary: Unlike R_RISCV_RELAX, which is a linker hint, R_RISCV_ALIGN
requires the support of the linker even when ignoring all R_RISCV_RELAX
relocations. This is because the compiler emits as many NOPs as may be
required for the requested alignment, more than may be required
pre-relaxation, to allow for the target becoming more unaligned after
relaxing earlier sequences. This means that the target is often not
initially aligned in the object files, and so the R_RISCV_ALIGN
relocations cannot just be ignored. Since we do not support linker
relaxation, we must turn these into errors.
Reviewers: ruiu, MaskRay, espindola
Reviewed By: MaskRay
Subscribers: grimar, Jim, emaste, arichardson, asb, rbar, johnrusso,
simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng,
edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX,
jocewei, psnobl, benna, lenary, s.egerton, pzheng, sameer.abuasal,
apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71820
The file was modifiedlld/ELF/Arch/RISCV.cpp
The file was addedlld/test/ELF/riscv-reloc-align.s
Commit e446322f73fe6a6cb54057b5100880d5bc23bf2e by serguei.n.dmitriev
[llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections
Summary: This patch adds support for setting SHF_EXCLUDE flag for ELF
sections.
Reviewers: jhenderson, grimar, MaskRay, mstorsjo, espindola, alexshap,
rupprecht
Reviewed By: jhenderson, MaskRay
Subscribers: emaste, abrachet, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72128
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/set-section-flags.test
The file was modifiedllvm/docs/CommandGuide/llvm-objcopy.rst
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/rename-section-flag.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/rename-section-flag-preserved.test
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
Commit c72aa27f917832af8a0d8d3a8aa9974411c30610 by arsenm2
AMDDGPU/GlobalISel: Fix RegBankSelect for llvm.amdgcn.ps.live
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ps.live.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit 38bdb94120b76f8f79cd27d721892673e573895a by kbobyrev
[clangd] Fix rename for explicit destructor calls
When triggering rename of the class name in the code with explicit
destructor calls, rename fails. Consider the following piece of code:
``` class Foo;
...
Foo f; f.~/*...*/Foo();
```
`findExplicitReferences` will report two `ReferenceLoc` for destructor
call: one is comming from `MemberExpr` (i.e. destructor call itself) and
would point to the tilde:
``` f.~/*...*/Foo();
^
```
And the second one is pointing to the typename and is coming from
`TypeLoc`.
``` f.~/*...*/Foo();
         ^
```
This causes rename to produce incorrect textual replacements. This patch
updates `MemberExpr` handler to detect destructor calls and prevents it
from reporting a duplicate reference.
Resolves: https://github.com/clangd/clangd/issues/236
Reviewers: kadircet, hokein
Differential Revision: https://reviews.llvm.org/D72638
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
Commit b16f82ad3b095070729cde2873bd3a2e8ab35c0e by 31459023+hctim
Revert "[MachO] Add a test for detecting reserved unit length."
This change broke the UBSan buildbots. More information available in the
original Phabricator review: https://reviews.llvm.org/D72695
This reverts commit fcc08aa835de1e0c1f3e7e479917575e55433b68.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp
Commit 5721483b64251faa115efa3dddd47f1b833d9a13 by i
[AMDGPU] Fix -Wunused-variable after
e5823bf806ca9fa6f87583065b3898a2edabce57
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Commit 02c1321139d61a9e56a5319a07bb8f27570e7f77 by i
[MC] Improve a report_fatal_error
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
Commit e15fb06e2d0a068de549464d72081811e7fac612 by zakk.chen
[RISCV] Pass target-abi via module flag metadata
Reviewers: lenary, asb
Reviewed By: lenary
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72755
The file was addedclang/test/CodeGen/riscv-metadata.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit a80291ce10ba9667352adcc895f9668144f5f616 by nicolai.haehnle
Revert "[AMDGPU] Invert the handling of skip insertion."
This reverts commit 0dc6c249bffac9f23a605ce4e42a84341da3ddbd.
The commit is reported to cause a regression in piglit/bin/glsl-vs-loop
for Mesa.
The file was removedllvm/lib/Target/AMDGPU/SIRemoveShortExecBranches.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-ignored-insts.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/collapse-endcf.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-lower-control-flow-unreachable-block.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/valu-i1.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-branch-taildup-ret.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/divergent-branch-uniform-condition.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cse-phi-incoming-val.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-branch-trap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_pixelshader.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/branch-relaxation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/skip-if-dead.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/convergent-inlineasm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/mubuf-legalize-operands.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertSkips.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-cfg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-loop-inside-nonuniform.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-skip.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hoist-cond.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd_vmem_war.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/subreg-coalescer-undef-use.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-kill-uncond.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/wqm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-flat-vmem.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/branch-condition-and.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ret_jump.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-skips-gws.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/else.ll
Commit 65f6ee618e729e2abcc9f7b6fff689c7b3d1aada by llvmgnsyncbot
[gn build] Port a80291ce10b
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Commit fffea2842d2807e6deabeb719774d83e3c490156 by frank.laub
[MLIR] LLVM Dialect: add llvm.cmpxchg and improve llvm.atomicrmw custom
parser
Summary: Add a `llvm.cmpxchg` op as a counterpart to LLVM IR's `cmpxchg`
instruction. Note that the `weak`, `volatile`, and `syncscope`
attributes are not yet supported.
This will be useful for upcoming parallel versions of affine.for and
generally for reduction-like semantics (especially for reductions that
can't make use of `atomicrmw`, e.g. `fmax`).
Reviewers: ftynse, nicolasvasilache
Reviewed By: ftynse
Subscribers: merge_guards_bot, jfb, mehdi_amini, rriddle, jpienaar,
burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox,
liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72995
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
The file was modifiedmlir/test/Dialect/LLVMIR/roundtrip.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
Commit ff9877ce34b86f8f63a773e0e8e383a7ef2bec95 by anna.welker
[ARM][MVE] Enable masked scatter
Extends the gather/scatter pass in MVEGatherScatterLowering.cpp to
enable the transformation of masked scatters into calls to MVE's masked
scatter intrinsic.
Differential Revision: https://reviews.llvm.org/D72856
The file was modifiedllvm/test/CodeGen/Thumb2/mve-gather-scatter-opt.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-scaled.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ind8-unscaled.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ind16-unscaled.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ind32-unscaled.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ptrs.ll
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-scatter-ind16-scaled.ll
Commit 6b4f86f65f165249cbea1d23611ac97aeec7a082 by ikudrin
Reapply: [MachO] Add a test for detecting reserved unit length.
The test in the origin patch did not create a __debug_str section. An
UBSan check triggered when the corresponding pointer was dereferenced.
Differential Revision: https://reviews.llvm.org/D72695
This reapplies fcc08aa835de1e0c1f3e7e479917575e55433b68 which was
reverted in b16f82ad3b095070729cde2873bd3a2e8ab35c0e.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp
Commit dbd0ad33668ea7b6d5c2c5db1fa290cc08ab99d9 by peter.smith
[LLD][ELF] Add support for INPUT_SECTION_FLAGS
The INPUT_SECTION_FLAGS linker script command is used to constrain the
section pattern matching to sections that match certain combinations of
flags.
There are two ways to express the constraint. withFlags: Section must
have these flags. withoutFlags: Section must not have these flags.
The syntax of the command is: INPUT_SECTION_FLAGS '(' sect_flag_list ')'
sect_flag_list: NAME
| sect_flag_list '&' NAME
Where NAME matches a section flag name such as SHF_EXECINSTR, or the
integer value of a section flag. If the first character of NAME is !
then it means must not contain flag.
We do not support the rare case of { INPUT_SECTION_FLAGS(flags) filespec
} where filespec has no input section description like (.text).
As an example from the ld man page: SECTIONS {
.text : { INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS) *(.text) }
.text2 :  { INPUT_SECTION_FLAGS (!SHF_WRITE) *(.text) }
}
.text will match sections called .text that have both the SHF_MERGE and
SHF_STRINGS flag.
.text2 will match sections called .text that don't have the SHF_WRITE
flag.
The flag names accepted are the generic to all targets and
SHF_ARM_PURECODE as it is very useful to filter all the pure code
sections into a single program header that can be marked execute never.
fixes PR44265
Differential Revision: https://reviews.llvm.org/D72756
The file was modifiedlld/ELF/LinkerScript.h
The file was addedlld/test/ELF/input-section-flags-diag2.test
The file was addedlld/test/ELF/input-section-flags-diag3.test
The file was addedlld/test/ELF/input-section-flags-diag1.test
The file was addedlld/test/ELF/input-section-flags-keep.s
The file was addedlld/test/ELF/input-section-flags.s
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/ScriptParser.cpp
Commit a672f579a2f66dbfa72799dec8ac52858b9a0f99 by llvm-dev
Regenerate rotated uxt tests
The file was modifiedllvm/test/CodeGen/ARM/uxt_rot.ll
Commit 8d2e6bdbe144b5855c4ae23d95c7e306075e4fdd by llvm-dev
[TargetLowering] SimplifyDemandedBits - Pull out InDemandedMask variable
to ISD::SHL. NFCI.
Matches ISD::SRA + ISD::SRL variants.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit d6f4cfdbd7923bae74d4a45f276f3b7f3e053f39 by courbet
[llvm-exegesis] Add support for AVX512 explicit rounding operands.
Reviewers: gchatelet
Subscribers: tschuett, mstojanovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73083
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
Commit 5f5f4785648959dfbb5c88d183816f85a0974561 by llvm-dev
[DAG] Fold extract_vector_elt (scalar_to_vector), K to undef (K != 0)
This was unconditionally folding this to the source operand, even if the
access was out of bounds. Use undef instead of the extract is not the
first element.
This helps with some cases where 3-vectors are legalized and avoids
processing the 4th component.
Original Patch by: arsenm (Matt Arsenault)
Differential Revision: https://reviews.llvm.org/D51589
The file was modifiedllvm/test/CodeGen/AMDGPU/max.i16.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
Commit 89e6601fb152b39700977d70e5604309f05475e5 by grimar
[llvm-readelf][llvm-readobj] - Fix the indentation when printing dynamic
tags.
This change is similar to one made for llvm-objdump in D72838.
llvm-readelf/llvm-readobj tools do not align the "Name/Value" column
properly. This patch adds a logic to calculate the size of indentation
on fly to fix such issues.
Differential revision: https://reviews.llvm.org/D72843
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit bc29069dc401572ba62f7dd692a3474c1ead76c9 by gabor.marton
[analyzer] Enable PlacementNewChecker by default
The file was modifiedclang/test/Analysis/placement-new.cpp
The file was modifiedclang/test/Analysis/placement-new-user-defined.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
Commit 4e8116f4692e9b5787ba91c6b557b113aae7e244 by andrew.ng
[ELF] Refactor uses of getInputSections to improve efficiency NFC
Add new method getFirstInputSection and use instead of getInputSections
where appropriate to avoid creation of an unneeded vector of input
sections.
Differential Revision: https://reviews.llvm.org/D73047
The file was modifiedlld/ELF/OutputSections.h
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/OutputSections.cpp
Commit 1f7b95d038e687fdaffdff55d32c16934f7bff60 by Raphael Isemann
[lldb][NFC] Convert LLDB_LOGF to LLDB_LOG in ClangASTSource.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
Commit 87632b9e061863b96edb124e66b4f9b526e00438 by courbet
[llvm-exegesis] Fix support for LEA64_32r.
Summary: Add unit test to show the issue: We must select an *aliasing*
output register, not the exact register.
Reviewers: gchatelet
Subscribers: tschuett, mstojanovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73095
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/latency-LEA64_32r.s
Commit 9a52ea5cf9ca76d9e90297c9f307afb7f4aeec59 by tpopp
Create a gpu.module operation for the GPU Dialect.
Summary: This is based on the use of code constantly checking for an
attribute on a model and instead represents the distinct operaion with a
different op. Instead, this op can be used to provide better filtering.
Reverts "Revert "[mlir] Create a gpu.module operation for the GPU
Dialect.""
This reverts commit ac446302ca4145cdc89f377c0c364c29ee303be5 after
fixing internal Google issues.
This additionally updates ROCDL lowering to use the new gpu.module.
Reviewers: herhut, mravishankar, antiagainst, nicolasvasilache
Subscribers: jholewinski, mgorny, mehdi_amini, jpienaar, burmako,
shauheen, csigg, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb,
llvm-commits, mravishankar, rriddle, antiagainst, bkramer
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72921
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
The file was modifiedmlir/test/Conversion/GPUToSPIRV/simple.mlir
The file was modifiedmlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
The file was modifiedmlir/test/Dialect/GPU/ops.mlir
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir
The file was addedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.td
The file was modifiedmlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt
The file was modifiedmlir/test/Conversion/GPUToSPIRV/loop.mlir
The file was modifiedmlir/test/Conversion/GPUToCUDA/lower-nvvm-kernel-to-cubin.mlir
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/if.mlir
The file was modifiedmlir/test/Conversion/GPUToNVVM/memory-attrbution.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/test/Conversion/GPUToSPIRV/load-store.mlir
The file was modifiedmlir/test/Conversion/GPUToROCDL/gpu-to-rocdl.mlir
The file was modifiedmlir/test/Dialect/GPU/outlining.mlir
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/test/Conversion/GPUToSPIRV/builtins.mlir
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp
The file was modifiedmlir/test/Dialect/GPU/invalid.mlir
Commit 3f9b6b270f87430c28fb2ff811d3b58dbf8bfdde by pavel
[lldb] Use llvm::stable_sort in Line
This addresses some post-commit feedback on D72909.
The file was modifiedlldb/source/Symbol/LineTable.cpp
Commit bc8a1ab26fba5d5635467b9d0fd7ad9a0fd5bc6e by gchatelet
[Alignment][NFC] Use Align with CreateMaskedLoad
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D73087
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit 295aea807892d087f0ff8e465b7ea9ebcdaed3fa by grimar
[llvm-readobj] - Remove rpath.test.
rpath.test checks that DT_RPATH is dumped.
We have dynamic-tags.test that tests all dynamic tags and it is better,
because also checks llvm-readelf and does not use precompiled binaries.
Differential revision: https://reviews.llvm.org/D73093
The file was removedllvm/test/tools/llvm-readobj/ELF/rpath.test
The file was removedllvm/test/tools/llvm-readobj/ELF/Inputs/rpath.exe.elf-x86_64
Commit 139771f8b02d4885c2ab50032e0c9356d60a2b05 by gchatelet
[Alignment][NFC] Use Align with CreateElementUnorderedAtomicMemMove
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D73050
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit 5181c67febc8d4c69559055fe2bee086aae61996 by arsenm2
AMDGPU/GlobalISel: Add some baseline tests for unmerge legalization
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
Commit fccd0da5ee6f4e337395f287edcf824a009e1b7e by adam.balogh
[clang-tidy] New check: bugprone-misplaced-pointer-arithmetic-in-alloc
Finds cases where an integer expression is added to the result of a
memory allocation function instead of its argument.
Differential Revision: https://reviews.llvm.org/D71001
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-misplaced-pointer-arithmetic-in-alloc.c
The file was addedclang-tools-extra/test/clang-tidy/checkers/bugprone-misplaced-pointer-arithmetic-in-alloc.cpp
The file was addedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/bugprone-misplaced-pointer-arithmetic-in-alloc.rst
The file was addedclang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.h
Commit 65a31a97b4595c0e75b63c670b1adf8de1c80f4b by llvmgnsyncbot
[gn build] Port fccd0da5ee6
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Commit 18a96fd573b134fed7d8ea6b87930e7a059d6c90 by pavel
[lldb/DWARF] Fix a leak in line table construction
We were creating a bunch of LineSequence objects but never deleting
them.
This fixes the leak and changes the code to use std::unique_ptr, to make
it harder to make the same mistake again.
The file was modifiedlldb/include/lldb/Symbol/LineTable.h
The file was modifiedlldb/source/Symbol/LineTable.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
Commit 5e70f4bdc15960730d0ff2aa167399e36bc64278 by pavel
[lldb/breakpad] Use new line table constructor
The old construction method can be quadratic for some inputs. This
approach guarantees a reasonable performance.
The file was modifiedlldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
Commit 651fa669a237730324d484d4675987a921c7562c by llvm-dev
[TargetLowering] SimplifyDemandedBits ANY_EXTEND/ANY_EXTEND_VECTOR_INREG
multi-use handling
Call SimplifyMultipleUseDemandedBits to peek through extended source
args with multiple uses
The file was modifiedllvm/test/CodeGen/X86/vector-sext.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit f651c402a221a20f3bc6ea43f70b29326a357010 by hokein.wu
[clangd] Capture the missing injected class names in
findExplicitReferences.
Summary: Fixes https://github.com/clangd/clangd/issues/237.
Reviewers: kadircet, kbobyrev
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73088
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit b065902ed4587faec5358e8aaef4570d3da83d40 by llvm-dev
[X86] combineBT - use SimplifyDemandedBits instead of GetDemandedBits
Another step towards removing SelectionDAG::GetDemandedBits entirely
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 47f99d2ca8adbecb59d04dad550262363b513d6d by llvm-dev
[SelectionDAG] GetDemandedBits - remove ANY_EXTEND handling
Rely on SimplifyMultipleUseDemandedBits fallback instead.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit d7032bc3c009d3d2e7fdd6427fa629589fe93096 by Jinsong Ji
[PowerPC][NFC] Reclaim TSFlags bit 6
We removed UseVSXReg flag in https://reviews.llvm.org/D58685 But we did
not reclain the bit 6 it was assigned, this will become confusing and a
hole later.. We should reclaim it as early as possible before new bits.
Reviewed By: sfertile
Differential Revision: https://reviews.llvm.org/D72649
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrFormats.td
Commit 81f385b0c6ea37dd7195a65be162c75bbdef29d2 by benny.kra
Make dropTriviallyDeadConstantArrays not quadratic
Only look at the operands of dead constant arrays instead of all
constant arrays again.
The file was modifiedllvm/lib/IR/LLVMContextImpl.cpp
Commit f04284cf1d491a5d9a1eebfd14ed2eb6342f5e47 by llvm-dev
[TargetLowering] SimplifyDemandedBits ISD::SRA multi-use handling
Call SimplifyMultipleUseDemandedBits to peek through extended source
args with multiple uses
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/const-shift-of-constmasked.ll
Commit 6a24339a45246b66bd3de88cc9c6a5b5e77c0645 by diogo.sampaio
[ARM] Follow AACPS standard for volatile bit-fields access width
Summary: This patch resumes the work of D16586. According to the AAPCS,
volatile bit-fields should be accessed using containers of the widht of
their declarative type. In such case:
``` struct S1 {
short a : 1;
}
``` should be accessed using load and stores of the width
(sizeof(short)), where now the compiler does only load the minimum
required width (char in this case). However, as discussed in D16586,
that could overwrite non-volatile bit-fields, which conflicted with C
and C++ object models by creating data race conditions that are not part
of the bit-field, e.g.
``` struct S2 {
short a;
int  b : 16;
}
``` Accessing `S2.b` would also access `S2.a`.
The AAPCS Release 2019Q1.1
(https://static.docs.arm.com/ihi0042/g/aapcs32.pdf) section 8.1 Data
Types, page 35, "Volatile bit-fields - preserving number and width of
container accesses" has been updated to avoid conflict with the C++
Memory Model. Now it reads in the note:
``` This ABI does not place any restrictions on the access widths of
bit-fields where the container overlaps with a non-bit-field member.
This is because the C/C++ memory model defines these as being separate
memory locations, which can be accessed by two threads
simultaneously. For this reason, compilers must be permitted to use a
narrower memory access width (including splitting the access
into multiple instructions) to avoid writing to a different memory
location.
```
I've updated the patch D16586 to follow such behavior by verifying that
we only change volatile bit-field access when:
- it won't overlap with any other non-bit-field member
- we only access memory inside the bounds of the record
Regarding the number of memory accesses, that should be preserved, that
will be implemented by D67399.
Reviewers: rsmith, rjmccall, eli.friedman, ostannard
Subscribers: ostannard, kristof.beyls, cfe-commits, carwil, olista01
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72932
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGValue.h
The file was modifiedclang/test/CodeGen/aapcs-bitfield.c
Commit 2147703bde1e1a7a1b89ccb66f55d36fd17620f1 by diogo.sampaio
Revert "[ARM] Follow AACPS standard for volatile bit-fields access
width"
This reverts commit 6a24339a45246b66bd3de88cc9c6a5b5e77c0645. Submitted
using ide button by mistake
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/test/CodeGen/aapcs-bitfield.c
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGValue.h
Commit 1256d68093ac1696034e385bbb4cb6e516b66bea by zakk.chen
[RISCV] Check the target-abi module flag matches the option
Reviewers: lenary, asb
Reviewed By: lenary
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72768
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was addedllvm/test/CodeGen/RISCV/module-target-abi.ll
The file was addedllvm/test/CodeGen/RISCV/module-target-abi2.ll
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h
Commit 1fbb1d6df0113ca341f6d257bc72e07343dd861a by kadircet
[clangd] Drop returntype/type when hovering over type-ish names
Summary: Some names, e.g. constructor/destructor/conversions, already
contain the type info, no need to duplicate them in the hoverinfo.
Fixes https://github.com/clangd/clangd/issues/252
Reviewers: sammccall, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D73110
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit 020041d99b508ed5f207c0896a19b3e85c942ee7 by kparzysz
Update spelling of {analyze,insert,remove}Branch in strings and comments
These names have been changed from CamelCase to camelCase, but there
were many places (comments mostly) that still used the old names.
This change is NFC.
The file was modifiedllvm/lib/CodeGen/EarlyIfConversion.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
The file was modifiedllvm/lib/Target/XCore/XCoreInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/branch-08.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-02.ll
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/docs/WritingAnLLVMBackend.rst
The file was modifiedllvm/include/llvm/MC/MCInstrDesc.h
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.cpp
Commit a6883017ea9af529e89d7f89af2477378b6eafca by alexandre.ganea
[Clang] Un-break scan-build after integrated-cc1 change
Differential Revision: https://reviews.llvm.org/D72982
The file was modifiedclang/lib/Driver/Job.cpp
The file was modifiedclang/test/Driver/option-aliases.c
The file was modifiedclang/test/Driver/cuda-simple.cu
The file was modifiedclang/test/Driver/offloading-interoperability.c
Commit 3023352a7d0991c2ed7c0ecca9b5fbf8501b6af2 by antiagainst
[mlir][spirv] Simplify scalar type size calculation.
Simplify scalar type size calculation and reject boolean memrefs.
Differential Revision: https://reviews.llvm.org/D72999
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
Commit 7b8dc8c57697e95fd0b1248e4494ecc0f929aba1 by jaskiewiczs
[libcxx] Support Python 3.8 in the test suite
Summary: `platform.linux_distribution()` has been deprecated in Python
3.5 and removed in Python 3.8.
Reviewers: bcain, bcraig, jroelofs, EricWF, mclow.lists, ldionne
Reviewed By: jroelofs
Subscribers: dexonsmith, christof, ldionne, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D72501
The file was modifiedlibcxx/utils/libcxx/test/target_info.py