FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [llvm-objdump] Add column headers for relocation printing (details)
  2. Revert "[DebugInfo] Enable the debug entry values feature by default" (details)
  3. [DebugInfo][test][NFC] Remove case numbers (details)
  4. [AMDGPU] Add one more pass to LLVMInitializeAMDGPUTarget (details)
  5. [ConstantFolding] Fold calls to FP remainder function (details)
  6. [DebugInfo] Prevent explosion of debug intrinsics during jump threading (details)
  7. [LLDB] Fix GCC warnings about extra semicolons. NFC. (details)
  8. [NFC][AggressiveInstCombine] Remove redundant std::max. (details)
  9. Revert "[DebugInfo] Prevent explosion of debug intrinsics during jump threading" (details)
  10. [lldb/DWARF] Use DWARFDebugInfoEntry * in ElaboratingDIEIterator (details)
  11. [analyzer]StreamChecker refactoring (NFC). (details)
  12. [TargetLowering] Add NegatibleCost enum for isNegatibleForFree return codes (details)
  13. [AggressiveInstCombine] Add support for select instruction. (details)
  14. [unittests] Fix TargetLibraryInfoTest.ValidProto (details)
  15. Fix MLIR build when the NVPTX target isn't configured (details)
  16. Reapply "[DebugInfo] Prevent explosion of debug intrinsics during jump threading" (details)
  17. [mlir][spirv] Introduce spv.func (details)
  18. [AggressiveInstCombine] Add support for ICmp instr that feeds a select intsr's condition operand. (details)
  19. Revert "[AggressiveInstCombine] Add support for ICmp instr that feeds a select intsr's condition operand." (details)
  20. [libcxx] Don't assume cwd name in std::filesystem tests (details)
  21. [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. (details)
  22. [Concepts] Do not check constraints if not all template arguments have been deduced (details)
  23. [MLIR][CUDA] Fix build file for mlir-cuda-runner (details)
  24. Fix unused function warning (PR44808) (details)
  25. [mlir] StdToLLVM: Add error when the sourceMemRef of a subview is not a llvm type. (details)
  26. [mlir] Linalg fusion: ignore indexed_generic producers (details)
  27. Recommit "[DSE] Add first version of MemorySSA-backed DSE (Bottom up walk)." (details)
  28. [Concepts] Add missing TPA commit to requires expression parsing (details)
  29. AMDGPU/GlobalISel: Widen non-power-of-2 load results (details)
  30. Re-reapply: Recover debug intrinsics when killing duplicated/empty blocks (details)
  31. [DebugInfo] Print version in error message in decimal (details)
  32. [DebugInfo] Add check for zero debug line opcode_base (details)
  33. [DebugInfo] Add checks for v2 directory and file name table terminators (details)
  34. [MC][AVR] Fix AVR test following 740bc366 (details)
  35. AMDGPU/GlobalISel: Split 96-bit load/store select tests out (details)
  36. [PowerPC] Add support for intrinsics llvm.ppc.dcbfl and llvm.ppc.dcbflp (details)
  37. [PowerPC] Add support for intrinsic llvm.ppc.eieio (details)
  38. [libc++] span: Guard against overflow in span::subspan (details)
  39. [PowerPC] Add options for PPC to enable/disable using non-volatile CR (details)
  40. Revert "Revert "Change clang option -ffp-model=precise to select ffp-contract=on"" (details)
  41. [AArch64][SVE] Add addsub carry long instrinsics (details)
  42. [libc++][Apple] Use CLOCK_MONOTONIC_RAW instead of CLOCK_UPTIME_RAW for steady_clock (details)
  43. Title: [TSAN] Parameterize the hard-coded threshold of deflake in tsan test (details)
  44. [clang-tidy] No misc-definitions-in-headers warning on C++14 variable templates. (details)
  45. Add missing newlines at EOF; NFC (details)
  46. [X86] combineFneg - generalize FMA negations with isNegatibleForFree/getNegatedExpression (details)
  47. [llvm-objdump] Print file format in lowercase to match GNU output. (details)
  48. [ELF] Respect output section alignment for AT> (non-null lmaRegion) (details)
  49. [ELF] Start a new PT_LOAD if LMA region is different (details)
  50. [ELF] Support INSERT [AFTER|BEFORE] for orphan sections (details)
  51. Fix compilation of Any.h header. (details)
  52. Fix SFINAE in llvm::bit_cast. (details)
  53. [VectorCombine] add tests for extract-binop; NFC (details)
  54. clang: Guess at some platform FTZ/DAZ default settings (details)
  55. Compute ORE, BPI, BFI in Loop passes. (details)
  56. [AArch64][GlobalISel] Properly implement widening for TB(N)Z (details)
  57. Fix `-Wunused-variable` warning. NFC. (details)
  58. [runtimes] Add umbrella targets for runtimes (details)
  59. [mlir] Allow constructing a ValueRange from an ArrayRef<BlockArgument> (details)
  60. [NFC] Remove extra headers included in Loop Unroll and LoopUnrollAndJam files (details)
  61. [ARM] Extra vecreduce add with accumulate tests. NFC (details)
  62. Recommit "[SCCP] Remove forcedconstant, go to overdefined instead" (details)
  63. [ARCMT][NFC] Reduce #include dependencies (details)
  64. Fix fp-model flag test failure on linux (details)
  65. [ConstantFold][SVE] Fix constant fold for FoldReinterpretLoadFromConstPtr. (details)
  66. Completely ignore strict FP model and denormal-fp-math interaction (details)
  67. [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE (details)
  68. [gn build] Port 6030fe01f4e (details)
  69. [mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract (details)
  70. [KnownBits] Introduce anyext instead of passing a flag into zext (details)
  71. [AddressSanitizer] Ensure only AllocaInst is passed to dbg.declare (details)
  72. [lldb/TypeSystemClang] Supply trivial TypeSourceInfo to NonTypeTemplateParmDecl::Create (details)
  73. [lldb/StringPrinter] Avoid reading garbage in uninitialized strings (details)
  74. [lldb/LibCxx] Have ExtractLibcxxStringInfo return an Optional result, NFC (details)
  75. [lldb/Plugins] Move SymbolFileDWARFDebugMap into SymbolFileDWARF (NFCI) (details)
  76. [mlir][Linalg] Refactor in preparation for automatic Linalg "named" ops. (details)
  77. Revert "[IRGen] Emit lifetime intrinsics around temporary aggregate argument allocas" (details)
  78. [llvm-exegesis] CombinationGenerator: don't store function_ref (details)
  79. [LoopExtractor] Fix legacy pass dependencies (details)
  80. [OpenMP] update strings output of libomp.so [NFC] (details)
  81. [README] Add note on using cmake to perform the build (details)
  82. [docs] Minor updates to DeveloperPolicy due to svn to git (details)
  83. [TBLGEN] Fix subreg value overflow in DAGISelMatcher (details)
  84. Fix type-dependency of bitfields in templates (details)
Commit 740bc366d44ccd41161739bc1d4b447cd49aba65 by james.henderson
[llvm-objdump] Add column headers for relocation printing

This allows us better readability and compatibility with what GNU
objdump prints.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43941

Reviewed by: jhenderson, MaskRay

Differential Revision: https://reviews.llvm.org/D72992
The file was modifiedllvm/test/tools/llvm-objdump/coff-many-relocs.test
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/test/MC/ARM/dwarf-asm-single-section.s
The file was modifiedllvm/test/MC/COFF/cfi-sections.s
The file was modifiedllvm/test/tools/llvm-objdump/hex-relocation-addr.test
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections.s
The file was modifiedllvm/test/tools/llvm-objdump/WebAssembly/relocations.test
The file was modifiedllvm/test/tools/llvm-objdump/relocations-in-nonreloc.test
The file was modifiedllvm/test/tools/llvm-objdump/relocation-xindex-symbol.test
The file was modifiedllvm/test/tools/llvm-objdump/relocations-elf.test
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections-dwarf-2.s
The file was modifiedllvm/test/Object/objdump-relocations.test
The file was modifiedllvm/test/MC/ARM/dwarf-asm-nonstandard-section.s
Commit 97ed706a962af7c6835c7b6716207c4072011ac1 by djordje.todorovic
Revert "[DebugInfo] Enable the debug entry values feature by default"

This reverts commit rG9f6ff07f8a39.

Found a test failure on clang-with-thin-lto-ubuntu buildbot.
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-partial-describe.mir
The file was removedllvm/test/DebugInfo/X86/no-entry-values-with-O0.ll
The file was modifiedllvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir
The file was modifiedllvm/test/CodeGen/MIR/X86/call-site-info-error3.mir
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-copy-super-sub.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/test/DebugInfo/ARM/call-site-info-output.ll
The file was modifiedclang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
The file was modifiedllvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
The file was modifiedllvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/unreachable-block-call-site.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
The file was modifiedllvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir
The file was modifiedllvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
The file was modifiedllvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
The file was modifiedllvm/test/DebugInfo/X86/dbgcall-site-64-bit-imms.ll
The file was modifiedclang/test/CodeGen/debug-info-extern-call.c
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/smml.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir
The file was modifiedllvm/lib/CodeGen/TargetOptionsImpl.cpp
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpret-movzxi.mir
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/locstats.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-two-fwd-reg-defs.mir
The file was modifiedllvm/test/DebugInfo/X86/loclists-dwp.ll
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-orr-moves.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
The file was modifiedllvm/test/DebugInfo/MIR/Hexagon/dbgcall-site-instr-before-bundled-call.mir
The file was modifiedllvm/test/DebugInfo/MIR/SystemZ/call-site-lzer.mir
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedllvm/test/CodeGen/X86/call-site-info-output.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-value-range.ll
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was modifiedllvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll
The file was modifiedllvm/test/CodeGen/MIR/X86/call-site-info-error4.mir
The file was modifiedllvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
The file was modifiedllvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.inc
The file was modifiedllvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/DebugInfo/X86/dbgcall-site-zero-valued-imms.ll
The file was modifiedllvm/test/tools/llvm-locstats/locstats.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/test/DebugInfo/AArch64/call-site-info-output.ll
The file was modifiedllvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-reg-shuffle.mir
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-reference.mir
Commit 720be5c01656547cf1a975eadd3258f7555edabc by james.henderson
[DebugInfo][test][NFC] Remove case numbers

This reduces the noise caused by adding cases earlier in the sequence.

Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D74402
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
Commit e9900b1fbff992baadd3e925cc3a213abcaee2a7 by jay.foad
[AMDGPU] Add one more pass to LLVMInitializeAMDGPUTarget
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Commit 2470d2988a057024b7bab99ace3749e6b770c8a0 by ehudkatz
[ConstantFolding] Fold calls to FP remainder function

With the fixed implementation of the "remainder" operation in
rG9d0956ebd471, we can now add support to folding calls to it.

Differential Revision: https://reviews.llvm.org/D69777
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Analysis/ConstantFolding/math-2.ll
Commit fe6f6cd6b8e647c5b4ac82f4fcd56c057c2ef8ce by stozer
[DebugInfo] Prevent explosion of debug intrinsics during jump threading

This patch is a fix following the revert of 72ce759
(https://reviews.llvm.org/rG72ce759928e6dfee6a9efa310b966c19722352ba)
and fixes the failure that it caused.

The above patch failed on the Thread Sanitizer buildbot with an out of
memory error. After an investigation, the cause was identified as an
explosion in debug intrinsics while running the Jump Threading pass on
ModuleMap.ll. The above patched prevented debug intrinsics from being
dropped when their Basic Block was deleted due to being "empty". In this
case, one of the functions in ModuleMap.ll had (after many optimization
passes) a very large number of debug intrinsics representing a set of
repeatedly inlined variables. Previously the vast majority of these were
silently dropped during Jump Threading when their blocks were deleted,
but as of the above patch they survived for longer, causing a large
increase in the number of debug intrinsics. These intrinsics were then
repeatedly cloned by the Jump Threading pass as edges were threaded,
multiplying the intrinsic count further. The memory consumed by this
process spiralled out of control, crashing the buildbot that uses TSan
(which has an estimated 5-10x memory overhead compared to non-sanitized
builds).

This patch adds RemoveRedundantDbgInstrs to the Jump Threading pass, in
order to reduce the number of debug intrinsics down to a manageable
amount in cases where many intrinsics for the same variable end up
bunched together contiguously, as in this case.

Differential Revision: https://reviews.llvm.org/D73054
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was addedllvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
Commit 7002128ca935aa02be104e2a0c5812260990b074 by martin
[LLDB] Fix GCC warnings about extra semicolons. NFC.
The file was modifiedlldb/tools/lldb-test/SystemInitializerTest.cpp
The file was modifiedlldb/source/API/SystemInitializerFull.cpp
Commit 49a4d85f6d24b0cfdbe5eb4c17d0d996a7ba89de by ayman.musa
[NFC][AggressiveInstCombine] Remove redundant std::max.

Differential Revision: https://reviews.llvm.org/D74476
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 6ded69f294a9a62a68b0a07aa987c8165a4b31e7 by stozer
Revert "[DebugInfo] Prevent explosion of debug intrinsics during jump threading"

This reverts commit fe6f6cd6b8e647c5b4ac82f4fcd56c057c2ef8ce.

Found test failure on several buildbots.
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was removedllvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
Commit 034c2c6771d318f962bbf001f00ee11e542e1180 by pavel
[lldb/DWARF] Use DWARFDebugInfoEntry * in ElaboratingDIEIterator

This is simpler, faster, and sufficient to uniquely idenify a DIE.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
Commit 5b3983ba3716b155d0cb740d4f1940c1bb0a97d5 by 1.int32
[analyzer]StreamChecker refactoring (NFC).

Reviewers: Szelethus

Reviewed By: Szelethus

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, donat.nagy, Charusso, dkrupp, Szelethus, gamesh411, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73359
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 9eb426c88ceb29f2a46ad977f4035d0f0e3d75ab by llvm-dev
[TargetLowering] Add NegatibleCost enum for isNegatibleForFree return codes

The isNegatibleForFree/getNegatedExpression methods currently rely on a raw char value to indicate whether a negation is beneficial or not.

This patch replaces the char return value with an NegatibleCost enum to more clearly demonstrate what is implied.

It also renames isNegatibleForFree to getNegatibleCost to more accurately reflect whats going on.

Differential Revision: https://reviews.llvm.org/D74221
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
Commit 3bda9059b88b7f6b5e108603c449df0591adab83 by ayman.musa
[AggressiveInstCombine] Add support for select instruction.

Differential Revision: https://reviews.llvm.org/D72837
The file was modifiedllvm/test/Transforms/AggressiveInstCombine/trunc_select.ll
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 167c42849099fa8cf646e49efe314571979339dc by ehudkatz
[unittests] Fix TargetLibraryInfoTest.ValidProto
The file was modifiedllvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Commit 7b635880ab5720f25f2be572240f8cad89ccf10b by joker-eph
Fix MLIR build when the NVPTX target isn't configured

Differential Revision: https://reviews.llvm.org/D74472
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was modifiedmlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
Commit ffeb64db355e7faf849de4a830010d2d85183f86 by stozer
Reapply "[DebugInfo] Prevent explosion of debug intrinsics during jump threading"

This reverts commit 6ded69f294a9a62a68b0a07aa987c8165a4b31e7.
The file was addedllvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit d3e7816d85460c75d3d49eeef91551215382974a by antiagainst
[mlir][spirv] Introduce spv.func

Thus far we have been using builtin func op to model SPIR-V functions.
It was because builtin func op used to have special treatment in
various parts of the core codebase (e.g., pass pipelines, etc.) and
it's easy to bootstrap the development of the SPIR-V dialect. But
nowadays with general op concepts and region support we don't have
such limitations and it's time to tighten the SPIR-V dialect for
completeness.

This commits introduces a spv.func op to properly model SPIR-V
functions. Compared to builtin func op, it can provide the following
benefits:

* We can control the full op so we can integrate SPIR-V information
  bits (e.g., function control) in a more integrated way and define
  our own assembly form and enforcing better verification.
* We can have a better dialect and library boundary. At the current
  moment only functions are modelled with an external op. With this
  change, all ops modelling SPIR-V concpets will be spv.* ops and
  registered to the SPIR-V dialect.
* We don't need to special-case func op anymore when creating
  ConversionTarget declaring SPIR-V dialect as legal. This is quite
  important given we'll see more and more conversions in the future.

In the process, bumps a few FuncOp methods to the FunctionLike trait.

Differential Revision: https://reviews.llvm.org/D74226
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/atomic-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/phi.mlir
The file was modifiedmlir/test/Conversion/LinalgToSPIRV/linalg-to-spirv.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/terminator.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
The file was modifiedmlir/include/mlir/IR/Function.h
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/entry-point.mlir
The file was modifiedmlir/lib/IR/Function.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/cast-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Transforms/inlining.mlir
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRV.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/module.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/simple.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/undef.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/group-ops.mlir
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-to-spirv.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/global-variable.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/loop.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/array.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/bit-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/struct.mlir
The file was modifiedmlir/test/Dialect/SPIRV/control-flow-ops.mlir
The file was modifiedmlir/include/mlir/IR/FunctionSupport.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/function-call.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/load-store.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/selection.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/glsl-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/execution-mode.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/logical-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Transforms/layout-decoration.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/structure-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/composite-op.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Transforms/abi-load-store.mlir
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/arithmetic-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/barrier.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.h
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/non-uniform-ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Transforms/abi-simple.mlir
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/constant.mlir
Commit cf155150f992270c88e586ffc61973d2552b72e8 by ayman.musa
[AggressiveInstCombine] Add support for ICmp instr that feeds a select intsr's condition operand.
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 35f02aa0213c41c4c408108e277e473de954dc5e by ayman.musa
Revert "[AggressiveInstCombine] Add support for ICmp instr that feeds a select intsr's condition operand."

This reverts commit cf155150f992270c88e586ffc61973d2552b72e8.
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 377a1c80e98951bb1c46b54c1f14400fba7f576f by jaskiewiczs
[libcxx] Don't assume cwd name in std::filesystem tests

Summary:
In `std::filesystem::proximate` tests we assume that the current working directory's name
is `fs.op.proximate`. This is fine when we're running the tests locally.

However, if we're running those tests on a remote machine via SSH, the directory layout may be
different. For example, currently we copy each test executable individually into
a temporary directory on the target board using SCP, so the assumption about the working directory name
doesn't necessarily hold.

This patch is the only thing that is necessary for all libc++ tests to pass when run remotely.

Reviewers: ldionne, EricWF, mclow.lists

Reviewed By: ldionne, EricWF

Subscribers: christof, dexonsmith, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D74348
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
Commit cd515a6538f4eb2c7264fe7d439b976dad10d439 by ayman.musa
[AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction.
The file was addedllvm/test/Transforms/AggressiveInstCombine/trunc_select_cmp.ll
Commit 5fef14d932fe602bf998b8fb8a809ff85ca1e245 by saar
[Concepts] Do not check constraints if not all template arguments have been deduced

We previously checked the constraints of instantiated function templates even in cases where
PartialOverloading was true and not all template arguments have been deduced, which caused crashes
in clangd (bug 44714).

We now check if all arguments have been deduced before checking constraints in partial overloading
scenarios.
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was addedclang/test/CXX/temp/temp.deduct/p5.cpp
Commit 864110b5b499f8fd6ae55d936ea9f6764569941a by herhut
[MLIR][CUDA] Fix build file for mlir-cuda-runner

Summary:
This was broken recently when moving from dialect registration via
static initializers to explicit intialization.

Differential Revision: https://reviews.llvm.org/D74480
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
Commit a19de32095e4cdb18957e66609574ce2021a8d1c by hans
Fix unused function warning (PR44808)
The file was modifiedllvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
Commit fd11cda2519f91e2f522f58f137b3082a65b5f62 by zinenko
[mlir] StdToLLVM: Add error when the sourceMemRef of a subview is not a llvm type.

A memref_cast casting to a memref with a non identity map can't be
lowered to llvm. Take the following case:

```

func @invalid_memref_cast(%arg0: memref<?x?xf64>) {
  %c1 = constant 1 : index
  %c0 = constant 0 : index
  %5 = memref_cast %arg0 : memref<?x?xf64> to memref<?x?xf64, #map1>
  %25 = std.subview %5[%c0, %c0][%c1, %c1][] : memref<?x?xf64, #map1> to memref<?x?xf64, #map1>
  return
}
```

When lowering the subview mlir was assuming `%5` to have an llvm type
(which is not the case as mlir failed to lower the memref_cast).

Differential Revision: https://reviews.llvm.org/D74466
The file was modifiedmlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
The file was addedmlir/test/Conversion/StandardToLLVM/invalid.mlir
Commit 5ae9c4c86806811cab3735dd56237ec1a9614354 by zinenko
[mlir] Linalg fusion: ignore indexed_generic producers

They are currently not supported and we should not attempt fusing them.
The file was modifiedmlir/test/Dialect/Linalg/fusion.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
Commit 81dbb6aec6261a06132f17b06c9071f4a1871fa4 by flo
Recommit "[DSE] Add first version of MemorySSA-backed DSE (Bottom up walk)."

This includes a fix for the santizier failures.

This reverts the revert commit
42f8b915eb72364cc5e84adf58a2c2d4947e8b10.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memoryphis.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/atomic.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loops.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/operand-bundles.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/free.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-and-memcpy.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll
The file was addedllvm/test/Transforms/DeadStoreElimination/MSSA/fence-todo.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-partial.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/calloc-store.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2011-09-06-EndOfFunction.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-simple.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/mda-with-dbg-values.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreBegin.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memintrinsics.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/fence.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores-big-endian.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-exceptions.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/inst-limits.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memcpy-complete-overwrite.ll
The file was addedllvm/test/Transforms/DeadStoreElimination/MSSA/memoryssa-scan-limit.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple-todo.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreEnd.ll
Commit 271e495399170d69627c1acd591c9298cb0b5b4b by saar
[Concepts] Add missing TPA commit to requires expression parsing

If an error had occurred when annotating a scope spec during the tentative parse
for a type-requirement, we would not revert nor commit the tentative parse, triggerring
an assertion failure.

Commit the TPA in this case and then do error recovery.
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
Commit fa61e200e53aaa929276abd76482a15c7a9638b7 by arsenm2
AMDGPU/GlobalISel: Widen non-power-of-2 load results

Load extra bits if suitably aligned. This allows using widened
3-vector loads on SI, and fixes legalization for <9 x s32> (which LSV
apparently forms frequently on lowered kernel argument lists).

Fix incorrectly treating these as legal on SI. This should emit a
64-bit store and a 32-bit store.

I think all of the load and store rules are just about complete, but
due for a rewrite.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
Commit 61b35e4111160fe834a00c33d040e01150b576ac by stozer
Re-reapply: Recover debug intrinsics when killing duplicated/empty blocks

This reverts commit 636c93ed11a5f98b5c3ff88241460d61cb7785bb.

The original patch caused build failures on TSan buildbots. Commit 6ded69f294a9
fixes this issue by reducing the rate at which empty debug intrinsics
propagate, reducing the memory footprint and preventing a fatal spike.
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 1da62b51a5f00a4b84843f3ecc8a495de618afc8 by james.henderson
[DebugInfo] Print version in error message in decimal

Also remove some test duplication and add a test case that shows the
maximum version is rejected (this also shows that the value in the error
message is actually in decimal, and not just missing an 0x prefix).

Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D74403
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
The file was modifiedlld/test/ELF/undef.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Commit 23cf0a30b1528cf268ffdf13e04a5baa7eddfe0a by james.henderson
[DebugInfo] Add check for zero debug line opcode_base

The number of standard opcodes is defined to be opcode_base - 1, so a
value of 0 for the opcode_base caused a crash as an attempt was made to
reserve many entries in a vector. This change fixes the crash, by
issuing a warning and skipping reading of standard opcode lengths in the
event of an opcode_base of 0.

Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D74309
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/Inputs/debug_line_malformed.s
Commit bf4d8f29524449c4114b457875cc6a8031c46092 by james.henderson
[DebugInfo] Add checks for v2 directory and file name table terminators

The DWARFv2-4 specification for the line table header states that the
include directories and file name tables both end with a single null
byte. Prior to this change, the parser did not detect if this byte was
missing, because it also stopped reading the tables once it reached the
prologue end, as claimed by the header_length field. This change adds a
check that the terminator has been seen at the end of each table.

Reviewed by: dblaikie, MaskRay

Differential Revision: https://reviews.llvm.org/D74413
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/Inputs/debug_line_malformed.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Commit 1e283c60281122580f0c06b2a5d0b12813e47cdb by james.henderson
[MC][AVR] Fix AVR test following 740bc366
The file was modifiedllvm/test/MC/AVR/symbol_relocation.s
Commit b99f45574c992fa262af76a0f0fcb08f87353a87 by arsenm2
AMDGPU/GlobalISel: Split 96-bit load/store select tests out

These are only legal on CI+. The test would fail in a debug build, but
not a release due to the partial selection since the pre-selection
legality assert only happens in a debug build.
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-global.s96.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-global.mir
Commit b413e5c3097cb842266d9c33e9737ac6cc252903 by stefanp
[PowerPC] Add support for intrinsics llvm.ppc.dcbfl and llvm.ppc.dcbflp

Added support for the intrinsic llvm.ppc.dcbfl and llvm.ppc.dcbflp.
These will be used for emitting cache control instructions dcbfl and dcbflp
which are actually mnemonics for using dcbf instruction with different
immediate arguments.

dcbfl ra, rb -> dcbf ra, rb, 1
dcbflp, ra, rb -> dcbf ra, rb, 3

Differential Revision: https://reviews.llvm.org/D68411
The file was modifiedllvm/test/CodeGen/PowerPC/dcbf.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
Commit ab4d60642142b369557adc83c9c51cec01b4b213 by stefanp
[PowerPC] Add support for intrinsic llvm.ppc.eieio

Add support for the intrinsic llvm.ppc.eieio to emit the instruction eieio.

Differential Revision: https://reviews.llvm.org/D69066
The file was addedllvm/test/CodeGen/PowerPC/eieio.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
Commit b5abd50f06966af28df4f80850f006c9cda7a07e by Louis Dionne
[libc++] span: Guard against overflow in span::subspan

The calculation _Offset + _Count <= size() may overflow, so use
_Count <= size() - _Offset instead. Note that this is safe due to
the previous constraint that _Offset <= size().

Patch by Michael Schellenberger Costa.

Differential Revision: https://reviews.llvm.org/D71998
The file was modifiedlibcxx/include/span
The file was addedlibcxx/test/std/containers/views/span.sub/subspan.fail.cpp
Commit caa10988bef0aaade99eda72b10e5a9f711ab170 by wei.huang
[PowerPC] Add options for PPC to enable/disable using non-volatile CR

An option is added for PowerPC to disable use of non-volatile CR
register fields and avoid CR spilling in the prologue.

Differential Revision: https://reviews.llvm.org/D69835
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
The file was addedllvm/test/CodeGen/PowerPC/ppc-disable-non-volatile-cr.ll
Commit abd09053bc7aa6144873c196a7d50aa6ce6ca430 by melanie.blower
Revert "Revert "Change clang option -ffp-model=precise to select ffp-contract=on""

This reverts commit 99c5bcbce89f07e68ccd89891a0300346705d013.
Change clang option -ffp-model=precise to select ffp-contract=on
Including some small touch-ups to the original commit

Reviewers: rjmccall, Andy Kaylor

Differential Revision: https://reviews.llvm.org/D74436
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit fc8d033e966305ebed3ffcd7c633d6e9ebef10ae by danilo.carvalho.grael
[AArch64][SVE] Add addsub carry long instrinsics

Summary:
Add intrinsics for the following instructions:
- adclb, adclt, sbclb, sbclt

Reviewers: kmclaughlin, c-rhodes, sdesmalen, efriedma, rengolin

Reviewed By: kmclaughlin

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74328
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/sve2-int-addsub-long.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 8bec8927134f116eb11ddea9db78b1a6241884c9 by Louis Dionne
[libc++][Apple] Use CLOCK_MONOTONIC_RAW instead of CLOCK_UPTIME_RAW for steady_clock

Summary:
In D27429, we switched the Apple implementation of steady_clock::now()
from clock_gettime(CLOCK_MONOTONIC) to clock_gettime(CLOCK_UPTIME_RAW).
The purpose was to get nanosecond precision, and also to improve the
performance of the implementation.

However, it appears that CLOCK_UPTIME_RAW does not satisfy the requirements
of the Standard, since it is not strictly speaking monotonic. Indeed, the
clock does not increment while the system is asleep, which had been
mentioned in D27429 but somehow not addressed.

This patch switches to CLOCK_MONOTONIC_RAW, which is monotonic, increased
during sleep, and also has nanosecond precision.

https://llvm.org/PR44773

Reviewers: bruno, howard.hinnant, EricWF

Subscribers: christof, jkorous, dexonsmith, libcxx-commits, mclow.lists, EricWF

Tags: #libc

Differential Revision: https://reviews.llvm.org/D74341
The file was modifiedlibcxx/src/chrono.cpp
Commit dadc214e4d9d09a8a7a9f15780c1201c18f93e05 by anhtuyen
Title: [TSAN] Parameterize the hard-coded threshold of deflake in tsan test

Summary:
A number of testcases in TSAN are designed to deal with intermittent problems
not exist in all executions of the tested program. A script called deflake.bash
runs the executable up to 10 times to deal with the intermittent nature of the tests.

The purpose of this patch is to parameterize the hard-coded threshold above via
--cmake_variables=-DTSAN_TEST_DEFLAKE_THRESHOLD=SomeIntegerValue
When this cmake var is not set, the default value of 10 will be used.

Reviewer: dvyukov (Dmitry Vyukov), eugenis (Evgenii Stepanov), rnk (Reid Kleckner), hubert.reinterpretcast (Hubert Tong), vitalybuka (Vitaly Buka)

Reviewed By: vitalybuka (Vitaly Buka)

Subscribers: mgorny (Michal Gorny), jfb (JF Bastien), steven.zhang (qshanz), llvm-commits (Mailing List llvm-commits), Sanitizers

Tag: LLVM, Sanitizers

Differential Revision: https://reviews.llvm.org/D73707
The file was modifiedcompiler-rt/test/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/test/tsan/deflake.bash
The file was modifiedcompiler-rt/test/tsan/lit.cfg.py
The file was modifiedcompiler-rt/test/tsan/lit.site.cfg.py.in
Commit a45ca670f5c43253d71018814d1e00443726f23a by hokein.wu
[clang-tidy] No misc-definitions-in-headers warning on C++14 variable templates.

Reviewers: gribozavr2

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74468
The file was modifiedclang-tools-extra/clang-tidy/misc/DefinitionsInHeadersCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/misc-definitions-in-headers.rst
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-definitions-in-headers-1z.hpp
Commit 665dcdacc06b056c3279a1fccbcae4660d80f117 by sven.vanhaastregt
Add missing newlines at EOF; NFC
The file was modifiedllvm/lib/IR/FPEnv.cpp
The file was modifiedclang/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp
The file was modifiedclang/tools/libclang/FatalErrorHandler.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h
The file was modifiedllvm/lib/Transforms/CFGuard/CFGuard.cpp
The file was modifiedclang/include/clang/AST/ASTConcept.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h
The file was modifiedclang/lib/DirectoryWatcher/DirectoryScanner.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/include/clang/AST/ExprConcepts.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h
The file was modifiedllvm/lib/DebugInfo/PDB/Native/EnumTables.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp
The file was modifiedclang/lib/DirectoryWatcher/DirectoryScanner.cpp
Commit ff307c8120ecca89193576c38d68a0353ea49e8b by llvm-dev
[X86] combineFneg - generalize FMA negations with isNegatibleForFree/getNegatedExpression

This has a really interesting side effect in that it improves some UMAX/UMIN reduction code which had redundant XOR(SHUFFLE(XOR(X,SIGNMASK)),SIGNMASK) patterns - the getNegatibleCost recognises it as FNEG(SHUFFLE(FNEG(X))).... We have a lot of FNEG patterns bitcasted to the integer domain for XOR signbit twiddling which is similar to what we do to allow UMAX/UMIN to be lowered using SMAX/SMIN.

Differential Revision: https://reviews.llvm.org/D74231
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umax.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-umin.ll
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umin.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/horizontal-reduce-umax.ll
Commit 60a8a504f16dbbc5f2a6887ecb668ef4cb834949 by rupprecht
[llvm-objdump] Print file format in lowercase to match GNU output.

Summary:
GNU objdump prints the file format in lowercase, e.g. `elf64-x86-64`. llvm-objdump prints `ELF64-x86-64` right now, even though piping that into llvm-objcopy refuses that as a valid arch to use.

As an example of a problem this causes, see: https://github.com/ClangBuiltLinux/linux/issues/779

Reviewers: MaskRay, jhenderson, alexshap

Reviewed By: MaskRay

Subscribers: tpimh, sbc100, grimar, jvesely, nhaehnle, kerbowa, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D74433
The file was modifiedllvm/test/tools/llvm-objdump/X86/elf-dynamic-relocs.test
The file was modifiedllvm/test/tools/llvm-objdump/file-headers-coff.test
The file was modifiedllvm/test/tools/llvm-objdump/all-headers.test
The file was modifiedllvm/test/tools/llvm-objdump/relocations-in-nonreloc.test
The file was modifiedlld/test/COFF/savetemps.ll
The file was modifiedllvm/test/tools/llvm-objdump/X86/warn-missing-disasm-func.test
The file was modifiedllvm/test/tools/llvm-objdump/X86/elf-disassemble-symbol-labels-exec.test
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/test/tools/llvm-objdump/non-archive-object.test
The file was modifiedllvm/test/Object/X86/objdump-label.test
The file was modifiedllvm/test/tools/llvm-objdump/X86/disassemble-section-name.s
The file was modifiedclang/test/Modules/pch_container.m
The file was modifiedllvm/test/CodeGen/BPF/reloc-btf.ll
The file was modifiedllvm/test/tools/llvm-objdump/archive-headers.test
The file was modifiedllvm/test/Object/X86/objdump-trivial-object.test
The file was modifiedllvm/test/Object/objdump-symbol-table.test
The file was modifiedllvm/test/Object/dynamic-reloc.test
The file was modifiedllvm/test/CodeGen/ARM/Windows/trivial-gnu-object.ll
The file was modifiedllvm/test/CodeGen/BPF/reloc.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-simplest-elf.ll
The file was modifiedllvm/test/tools/llvm-objdump/file-headers-elf.test
The file was modifiedllvm/test/Object/AMDGPU/objdump.s
The file was modifiedllvm/test/Object/X86/objdump-disassembly-inline-relocations.test
The file was modifiedllvm/test/CodeGen/BPF/reloc-btf-2.ll
The file was modifiedllvm/test/tools/llvm-objdump/X86/output-ordering.test
Commit e21b9ca751c525f5927ad313482be9a9c9e4dc9d by maskray
[ELF] Respect output section alignment for AT> (non-null lmaRegion)

When lmaRegion is non-null, respect `sec->alignment`
This rule is analogous to `switchTo(sec)` which advances sh_addr (VMA).

This fixes the p_paddr misalignment issue as reported by
https://android-review.googlesource.com/c/trusty/external/trusted-firmware-a/+/1230058

Note, `sec->alignment` is the maximum of ALIGN and input section alignments. We may overalign LMA than GNU ld.

linkerscript/align-lma.s has a FIXME that demonstrates another bug:
`.bss ... >RAM` should be placed in a different PT_LOAD (GNU ld
behavior) because its lmaRegion (nullptr) is different from the previous
section's lmaRegion (ROM).

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D74286
The file was addedlld/test/ELF/linkerscript/lma-align.test
The file was modifiedlld/ELF/LinkerScript.cpp
Commit b498d99338f868bcab3384b4e58f8a4d764fa48b by maskray
[ELF] Start a new PT_LOAD if LMA region is different

GNU ld has a counterintuitive lang_propagate_lma_regions rule.

```
// .foo's LMA region is propagated to .bar because their VMA region is the same,
// and .bar does not have an explicit output section address (addr_tree).
.foo : { *(.foo) } >RAM AT> FLASH
.bar : { *(.bar) } >RAM

// An explicit output section address disables propagation.
.foo : { *(.foo) } >RAM AT> FLASH
.bar . : { *(.bar) } >RAM
```

In both cases, lld thinks .foo's LMA region is propagated and
places .bar in the same PT_LOAD, so lld diverges from GNU ld w.r.t. the
second case (lma-align.test).

This patch changes Writer<ELFT>::createPhdrs to disable propagation
(start a new PT_LOAD). A user of the first case can make linker scripts
portable by explicitly specifying `AT>`. By contrast, there was no
workaround for the old behavior.

This change uncovers another LMA related bug in assignOffsets() where
`ctx->lmaOffset = 0;` was omitted. It caused a spurious "load address
range overlaps" error for at2.test

The new PT_LOAD rule is complex. For convenience, I listed the origins of some subexpressions:

* rL323449: `sec->memRegion == load->firstSec->memRegion`; linkerscript/at3.test
* D43284: `load->lastSec == Out::programHeaders` (don't start a new PT_LOAD after program headers); linkerscript/at4.test
* D58892: `sec != relroEnd` (start a new PT_LOAD after PT_GNU_RELRO)

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D74297
The file was modifiedlld/test/ELF/linkerscript/at2.test
The file was modifiedlld/test/ELF/linkerscript/at8.test
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/linkerscript/Inputs/at2.s
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/test/ELF/linkerscript/lma-align.test
Commit 7c426fb1a6d4b7db2517529ec5d863b380479249 by maskray
[ELF] Support INSERT [AFTER|BEFORE] for orphan sections

D43468+D44380 added INSERT [AFTER|BEFORE] for non-orphan sections. This patch
makes INSERT work for orphan sections as well.

`SECTIONS {...} INSERT [AFTER|BEFORE] .foo` does not set `hasSectionCommands`, so the result
will be similar to a regular link without a linker script. The differences when `hasSectionCommands` is set include:

* image base is different
* -z noseparate-code/-z noseparate-loadable-segments are unavailable
* some special symbols such as `_end _etext _edata` are not defined

The behavior is similar to GNU ld:
INSERT is not considered an external linker script.

This feature makes the section layout more flexible. It can be used to:

* Place .nv_fatbin before other readonly SHT_PROGBITS sections to mitigate relocation overflows.
* Disturb the layout to expose address sensitive application bugs.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D74375
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/ScriptParser.cpp
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/test/ELF/linkerscript/insert-after.test
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/linkerscript/insert-before.test
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/linkerscript/insert-duplicate.test
The file was addedlld/test/ELF/linkerscript/insert-not-exist.test
Commit 17b77418121139c4e8cfb050d82ead3f29db7132 by jlebar
Fix compilation of Any.h header.

In a previous patch I changed `std::decay<T>::type` to `std::decay<T>`
rather than `std::decay_t<T>`.  This seems to have broken the build
*only for clang-cl*.  I don't know why.

Submitting with post-commit review because this is an obvious fix for a
build breakage and we've verified that it fixes the breakage.
The file was modifiedllvm/include/llvm/ADT/Any.h
Commit bc316c21570b3ff93a7e064a6fb2f6b56d26d850 by jlebar
Fix SFINAE in llvm::bit_cast.

Summary:
As far as I can tell, the SFINAE was broken; there is no such thing as
std::is_trivially_constructible<T>::type.

Subscribers: dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74380
The file was modifiedllvm/include/llvm/ADT/bit.h
Commit 2452f85b5775eef08a6864f71c88f9ea91543ee6 by spatel
[VectorCombine] add tests for extract-binop; NFC
The file was addedllvm/test/Transforms/VectorCombine/X86/extract-binop.ll
Commit fa7cd549d604bfd8f9dce5d649a19720cbc39cca by arsenm2
clang: Guess at some platform FTZ/DAZ default settings

This is to avoid performance regressions when the default attribute
behavior is fixed to assume ieee.

I tested the default on x86_64 ubuntu, which seems to default to
FTZ/DAZ, but am guessing for x86 and PS4.
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.h
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was addedclang/test/Driver/default-denormal-fp-math.c
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.h
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedclang/include/clang/Driver/ToolChain.h
Commit 4f33a68973bfd9fa429b57528c3fe5443f59a734 by asbirlea
Compute ORE, BPI, BFI in Loop passes.

Summary:
Passes ORE, BPI, BFI are not being preserved by Loop passes, hence it
is incorrect to retrieve these passes as cached.
This patch makes the loop passes in question compute a new instance.

In some of these cases, however, it may be beneficial to change the Loop pass to
a Function pass instead, similar to the change for LoopUnrollAndJam.

Reviewers: chandlerc, dmgreen, jdoerfert, reames

Subscribers: mehdi_amini, hiraditya, zzheng, steven_wu, dexonsmith, Whitney, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72891
The file was modifiedllvm/lib/Transforms/Scalar/LoopPredication.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/lib/Analysis/OptimizationRemarkEmitter.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit 45417b7aa7fcdd2aa75c1c809a3c7fb3292134be by Jessica Paquette
[AArch64][GlobalISel] Properly implement widening for TB(N)Z

When we have to widen to a 64-bit register, we have to emit a SUBREG_TO_REG.

Add a general-purpose widening helpe  which emits the correct SUBREG_TO_REG
instruction based off of a desired size and add a testcase.

Also remove some asserts which are technically incorrect in `emitTestBit`.

- p0 doesn't count as a scalar type, so we need to check `!Ty.isVector()`
instead

- Whenever we have a s1, the Size/Bit checks are too conservative, so just
remove them

Replace these asserts with less conservative ones where applicable.

Differential Revision: https://reviews.llvm.org/D74427
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/widen-narrow-tbz-tbnz.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ext-tbz-tbnz.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit f6a3ac150b8d9f3458f526cf76ebcd545bfc1898 by michael.hliao
Fix `-Wunused-variable` warning. NFC.
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 26edb21c29cb3c40b29ab3cd9e926b0d329457d6 by smeenai
[runtimes] Add umbrella targets for runtimes

This will create e.g. a compiler-rt target that'll build compiler-rt for
all configured targets, similar to how the runtimes umbrella target
builds all the runtimes for all configured targets.

Differential Revision: https://reviews.llvm.org/D74458
The file was modifiedllvm/runtimes/CMakeLists.txt
Commit c832145960736a7d531d264dcba59967d38bfc81 by riverriddle
[mlir] Allow constructing a ValueRange from an ArrayRef<BlockArgument>

Summary: This was a missed case when ValueRange was originally added, and allows for constructing a ValueRange from the arguments of a block.

Differential Revision: https://reviews.llvm.org/D74363
The file was modifiedmlir/include/mlir/IR/FunctionSupport.h
The file was modifiedmlir/lib/Dialect/LoopOps/LoopOps.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
Commit a5b6480d0551aaed77973c1ac160d7d777951aa3 by anhtuyen
[NFC] Remove extra headers included in Loop Unroll and LoopUnrollAndJam files

Summary:
This refactor patch removes some header files which are not needed and also add some to meet IWYU principles.

Reviewers: rnk (Reid Kleckner), Meinersbur (Michael Kruse), dmgreen (Dave Green)

Reviewed By: dmgreen (Dave Green), rnk (Reid Kleckner), Meinersbur (Michael Kruse)

Subscribers: dmgreen (Dave Green), Whitney (Whitney Tsang), hiraditya (Aditya Kumar), zzheng (Z. Zheng), llvm-commits, LLVM

Tag: LLVM

Differential Revision: https://reviews.llvm.org/D73498
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopUnrollAndJamPass.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 5bb4954008a6354a54ae225ba37f2788109f218a by david.green
[ARM] Extra vecreduce add with accumulate tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
Commit bb310b3f73dde5551bc2a0d564e88f7c831dfdb3 by flo
Recommit "[SCCP] Remove forcedconstant, go to overdefined instead"

This version includes a fix for a set of crashes caused by marking
values depending on a yet unknown & tracked call as overdefined.

In some cases, we would later discover that the call has a constant
result and try to mark a user of it as constant, although it was already
marked as overdefined. Most instruction handlers bail out early if the
instruction is already overdefined. But that is not necessary for
CastInsts for example. By skipping values that depend on skipped
calls, we resolve the crashes and also improve the precision in some
cases (see resolvedundefsin-tracked-fn.ll).

Note that we may not skip PHI nodes that may depend on a skipped call,
but they can be safely marked as overdefined, as we bail out early if
the PHI node is overdefined.

This reverts the revert commit
a74b31a3e9cd844c7ce2087978568e3f5ec8519.
The file was modifiedllvm/test/Transforms/IPConstantProp/PR16052.ll
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/undef-resolve.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-constant-ranges.ll
The file was modifiedllvm/test/Transforms/SCCP/logical-nuke.ll
The file was modifiedllvm/test/Transforms/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/SCCP/2006-12-19-UndefBug.ll
The file was modifiedllvm/test/Transforms/SCCP/ipsccp-basic.ll
The file was modifiedllvm/test/Transforms/SCCP/switch-multiple-undef.ll
The file was modifiedllvm/test/Transforms/SCCP/ub-shift.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-select.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-bigint2.ll
The file was addedllvm/test/Transforms/SCCP/resolvedundefsin-tracked-fn.ll
The file was modifiedllvm/test/Transforms/SCCP/apint-ipsccp3.ll
Commit 53fba65d220499ebc380755aca2da41a5eb33f02 by sguelton
[ARCMT][NFC] Reduce #include dependencies

Replace some #includes in ARCMigrate source files with more specific includes
and forward declarations. This reduces the number of files that need to be
rebuilt when a header changes (and saves like 1 second of build time). For
example, several files no longer need to be rebuilt when the list of static
analyzer checkers(!) changes.

Differential Revision: https://reviews.llvm.org/D74385
The file was modifiedclang/lib/ARCMigrate/Internals.h
The file was modifiedclang/lib/ARCMigrate/Transforms.cpp
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
Commit 5dcffdf58a33b51028f6b52e44c4af25b5d159aa by Matthew.Arsenault
Fix fp-model flag test failure on linux

We're still in the awkward state where IEEE is not the default
denormal mode.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 5350a48931d035900ac90bc56620eaa2baeb5c09 by huihuiz
[ConstantFold][SVE] Fix constant fold for FoldReinterpretLoadFromConstPtr.

Summary:
Bail out early for scalable vectors. As global variables are not expected
to be scalable.

Use explicit call of getFixedSize() to assert on places where scalable size
doesn't make sense.

Reviewers: sdesmalen, efriedma, apazos, huntergr, willlovett

Reviewed By: sdesmalen

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74424
The file was modifiedllvm/test/Analysis/ConstantFolding/vscale.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 38333164fc7dfc9d4cbf93e443e74809022ed78e by arsenm2
Completely ignore strict FP model and denormal-fp-math interaction

No behavior is going to make sense here until the default is IEEE.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 6030fe01f4ee9a65d92effe44749bee11b36d346 by lebedev.ri
[llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE

Summary:
Currently, we only have nice exploration for LEA instruction,
while for the rest, we rely on `randomizeUnsetVariables()`
to sometimes generate something interesting.
While that works, it isn't very reliable in coverage :)

Here, i'm making an assumption that while we may want to explore
multi-instruction configs, we are most interested in the
characteristics of the main instruction we were asked about.

Which we can do, by taking the existing `randomizeMCOperand()`,
and turning it on it's head - instead of relying on it to randomly fill
one of the interesting values, let's pregenerate all the possible interesting
values for the variable, and then generate as much `InstructionTemplate`
combinations of these possible values for variables as needed/possible.

Of course, that requires invasive changes to no longer pass just the
naked `Instruction`, but sometimes partially filled `InstructionTemplate`.

As it can be seen from the test, this allows us to explore
`X86::OperandType::OPERAND_COND_CODE` for instructions
that take such an operand.
I'm hoping this will greatly simplify exploration.

Reviewers: courbet, gchatelet

Reviewed By: gchatelet

Subscribers: orodley, mgorny, sdardis, tschuett, jrtc27, atanasyan, mstojanovic, andreadb, RKSimon, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74156
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.h
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
The file was addedllvm/unittests/tools/llvm-exegesis/SnippetGeneratorTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/latency-SETCCr-cond-codes-sweep.s
The file was modifiedllvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h
The file was modifiedllvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.h
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modifiedllvm/unittests/tools/llvm-exegesis/CMakeLists.txt
The file was modifiedllvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/CodeTemplate.h
Commit 5ed15ff6b48cd7ed50c9b9dc67e5ad318842b135 by llvmgnsyncbot
[gn build] Port 6030fe01f4e
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/tools/llvm-exegesis/BUILD.gn
Commit 137415ad285b1d3c1fa1dfb8f44c2ac62d3ebbe4 by ntv
[mlir][EDSC][Linalg] Compose linalg_matmul and vector.contract

Summary:
This revision allows model builder to create a linalg_matmul whose body
is a vector.contract. This shows the abstractions compose nicely.

Differential Revision: https://reviews.llvm.org/D74457
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/lib/Dialect/Linalg/EDSC/Builders.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
Commit 32aac2563763ca14732c06080242a8fdcff6643e by jay.foad
[KnownBits] Introduce anyext instead of passing a flag into zext

Summary:
This was a very odd API, where you had to pass a flag into a zext
function to say whether the extended bits really were zero or not. All
callers passed in a literal true or false.

I think it's much clearer to make the function name reflect the
operation being performed on the value we're tracking (rather than on
the KnownBits Zero and One fields), so zext means the value is being
zero extended and new function anyext means the value is being extended
with unknown bits.

NFC.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D74482
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 34d9f93977fb33e45f9ac09d0a12f41254ef8845 by Vedant Kumar
[AddressSanitizer] Ensure only AllocaInst is passed to dbg.declare

Various parts of the LLVM code generator assume that the address
argument of a dbg.declare is not a `ptrtoint`-of-alloca. ASan breaks
this assumption, and this results in local variables sometimes being
unavailable at -O0.

GlobalISel, SelectionDAG, and FastISel all do not appear to expect
dbg.declares to have a `ptrtoint` as an operand. This means that they do
not place entry block allocas in the usual side table reserved for local
variables available in the whole function scope. This isn't always a
problem, as LLVM can try to lower the dbg.declare to a DBG_VALUE, but
those DBG_VALUEs can get dropped for all the usual reasons DBG_VALUEs
get dropped. In the ObjC test case I'm looking at, the cause happens to
be that `replaceDbgDeclare` has hoisted dbg.declares into the entry
block, causing LiveDebugValues to "kill" the DBG_VALUEs because the
lexical dominance check fails.

To address this, I propose:

1) Have ASan (always) pass an alloca to dbg.declares (this patch). This
   is a narrow bugfix for -O0 debugging.

2) Make replaceDbgDeclare not move dbg.declares around. This should be a
   generic improvement for optimized debug info, as it would prevent the
   lexical dominance check in LiveDebugValues from killing as many
   variables.

   This means reverting llvm/r227544, which fixed an assertion failure
   (llvm.org/PR22386) but no longer seems to be necessary. I was able to
   complete a stage2 build with the revert in place.

rdar://54688991

Differential Revision: https://reviews.llvm.org/D74369
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/debug_info.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was addedllvm/test/DebugInfo/X86/asan_debug_info.ll
Commit d6e47a405a3481c9c40ebe1c339349c01c504bd6 by Vedant Kumar
[lldb/TypeSystemClang] Supply trivial TypeSourceInfo to NonTypeTemplateParmDecl::Create

This fixes a UBSan error seen while debugging clang:

Member call on null pointer of type 'clang::TypeSourceInfo'

rdar://58783517

Differential Revision: https://reviews.llvm.org/D73808
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/test/API/lang/cpp/class-template-parameter-pack/main.cpp
Commit 7aabad131288a598c90903ae7d96383105ae3fc2 by Vedant Kumar
[lldb/StringPrinter] Avoid reading garbage in uninitialized strings

This patch fixes a few related out-of-bounds read bugs in the
string data formatters. These issues have to do with mishandling of un-
initialized strings. These manifest as ASan exceptions when debugging a
clang binary.

The first issue was that the std::string formatter treated strings in
"short mode" with length greater than the size of the inline buffer as
valid.

The second issue was that the StringPrinter facility did not check that
a full utf8 codepoint sequence can be read from the buffer (i.e. there
are some missing range checks). I took the opportunity here to delete
some untested code that was meant to deal with invalid input and replace
it with fail-on-invalid logic ([1][2][3]). This means we'll give up on
formatting an invalid string instead of guessing our way through it.

The third issue is that StringPrinter did not check that a utf8 sequence
could actually be fully read from the string payload. This one is especially
tricky as we may overflow the buffer pointer while reading the sequence.

I also noticed that the std::string formatter would spew the raw version of
the underlying ValueObject when garbage is detected. I've changed this to
just print "Summary Unavailable" instead, as we do elsewhere.

I've added regression tests for these issues to
test/functionalities/data-formatter/data-formatter-stl/libcxx/string.

[1]
http://lab.llvm.org:8080/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/source/DataFormatters/StringPrinter.cpp.html#L136
[2]
http://lab.llvm.org:8080/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/source/DataFormatters/StringPrinter.cpp.html#L163
[3]
http://lab.llvm.org:8080/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/lldb/source/DataFormatters/StringPrinter.cpp.html#L357

rdar://59080026

Differential Revision: https://reviews.llvm.org/D73860
The file was modifiedlldb/source/DataFormatters/StringPrinter.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/main.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
Commit 90a94c02fb243f0b49ee9933b0e8145147f84e32 by Vedant Kumar
[lldb/LibCxx] Have ExtractLibcxxStringInfo return an Optional result, NFC

Differential Revision: https://reviews.llvm.org/D74018
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Commit 654086cbf548c8571affcb24f4a4a1cf54988756 by Jonas Devlieghere
[lldb/Plugins] Move SymbolFileDWARFDebugMap into SymbolFileDWARF (NFCI)

Move the logic for initialization and termination for
SymbolFileDWARFDebugMap into SymbolFileDWARF so that there's one
initializer for the SymbolFileDWARF plugin.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/tools/lldb-test/SystemInitializerTest.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
The file was modifiedlldb/source/API/SystemInitializerFull.cpp
Commit bfaf535791897f3cc2af40d4f5a677489ad25940 by ntv
[mlir][Linalg] Refactor in preparation for automatic Linalg "named" ops.

This revision prepares the ground for declaratively defining Linalg "named" ops.
Such named ops form the backbone of operations that are ubiquitous in the ML
application domain.

This revision closely related to the definition of a "Tensor Computation
Primitives Dialect" and demonstrates that ops can be expressed as declarative
configurations of the `linalg.generic` op.

Differential Revision: https://reviews.llvm.org/D74491
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
Commit e26c24b849211f35a988d001753e0cd15e4a9d7b by erik.pilkington
Revert "[IRGen] Emit lifetime intrinsics around temporary aggregate argument allocas"

This reverts commit fafc6e4fdf3673dcf557d6c8ae0c0a4bb3184402.

Should fix ppc stage2 failure: http://lab.llvm.org:8011/builders/clang-ppc64be-linux-multistage/builds/23546

Conflicts:
clang/lib/CodeGen/CGCall.cpp
The file was removedclang/test/CodeGenCXX/amdgcn-call-with-aggarg.cpp
The file was modifiedclang/test/CodeGenCXX/stack-reuse-miscompile.cpp
The file was removedclang/test/CodeGen/lifetime-call-temp.c
The file was modifiedclang/lib/CodeGen/CGCall.h
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 687bbf85de4ae463c0794dff545734e194941162 by lebedev.ri
[llvm-exegesis] CombinationGenerator: don't store function_ref

function_ref is non-owning, so if we get it as a parameter in constructor,
our reference goes out-of-scope as soon as constructor returns.
Instead, let's just take it as a parameter to the actual `generate()` call
The file was modifiedllvm/unittests/tools/llvm-exegesis/SnippetGeneratorTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.h
Commit d8a2ea9fd5c7c20c83e3301581fad692cfab15d0 by ehudkatz
[LoopExtractor] Fix legacy pass dependencies

Fixes a memory leak of allocating `LoopInfoWrapperPass` and `DominatorTreeWrapperPass`.
The file was modifiedllvm/lib/Transforms/IPO/LoopExtractor.cpp
Commit 4f1f2b7a5b573bc9a2480c7607f02c2e4cbfb2be by kkwli0
[OpenMP] update strings output of libomp.so [NFC]

Change the string from "Intel(R) OMP" to "LLVM OMP" in libomp.so

Differential Revision: https://reviews.llvm.org/D74462
The file was modifiedopenmp/runtime/src/kmp_version.h
Commit 905ccf8b2feac4a812210da0bb0ea3850bb88d05 by evandro.menezes
[README] Add note on using cmake to perform the build

Also, some spelling fixes.  Test commit.
The file was modifiedREADME.md
Commit baf3a53b5750a0b1363248d45b0fa0cbda0253e1 by Jinsong Ji
[docs] Minor updates to DeveloperPolicy due to svn to git

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D73971
The file was modifiedllvm/docs/DeveloperPolicy.rst
Commit f8d044bbcfdc9e1ddc02247ffb86fe39e1f277f0 by Stanislav.Mekhanoshin
[TBLGEN] Fix subreg value overflow in DAGISelMatcher

Tablegen's DAGISelMatcher emits integers in a VBR format,
so if an integer is below 128 it can fit into a single
byte, otherwise high bit is set, next byte is used etc.
MatcherTable is essentially an unsigned char table. When
SelectionDAGISel parses the table it does a reverse translation.

In a situation when numeric value of an integer to emit is
unknown it can be emitted not as OPC_EmitInteger but as
OPC_EmitStringInteger using a symbolic name of the value.
In this situation the value should not exceed 127.

One of the situations when OPC_EmitStringInteger is used is
if we need to emit a subreg into a matcher table. However,
number of subregs can exceed 127. Currently last defined subreg
for AMDGPU is 192. That results in a silent bug in the ISel
with matcher reading from an invalid offset.

Fixed this bug to emit actual VBR encoded value for a subregs
which value exceeds 127.

Differential Revision: https://reviews.llvm.org/D74368
The file was addedllvm/test/TableGen/dag-isel-subregs.td
The file was modifiedllvm/utils/TableGen/DAGISelMatcherEmitter.cpp
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.h
The file was addedllvm/test/TableGen/Common/reg-with-subregs-common.td
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.cpp
The file was modifiedllvm/utils/TableGen/RegisterInfoEmitter.cpp
The file was modifiedllvm/utils/TableGen/DAGISelMatcherGen.cpp
Commit a58017e5cae5be948fd1913b68d46553e87aa622 by elizabeth.andrews
Fix type-dependency of bitfields in templates

This patch is a follow up to 878a24ee244a24. Name of bitfields
with value-dependent width should be set as type-dependent. This
patch adds the required value-dependency check and sets the
type-dependency accordingly.

Patch fixes PR44886

Differential revision: https://reviews.llvm.org/D72242
The file was modifiedclang/test/SemaTemplate/enum-argument.cpp
The file was addedclang/test/SemaTemplate/value-dependent-bitfield-cond.cpp
The file was modifiedclang/lib/AST/Expr.cpp