SuccessChanges

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

Summary

  1. [libc builder] Use argparse directly instead of via AnnotatedBuilder. (details)
  2. [libc builder] Parse only known args. (details)
Commit ecaa5909ede6d2b46f7d1769a7d6a9280c2bec77 by sivachandra
[libc builder] Use argparse directly instead of via AnnotatedBuilder.

Reviewers: PaulkaToast

Differential Revision: https://reviews.llvm.org/D77667
The file was modifiedzorg/buildbot/builders/annotated/libc-linux.py
Commit 4a4b67582626fd00db6f392a848fc3346c36876b by sivachandra
[libc builder] Parse only known args.
The file was modifiedzorg/buildbot/builders/annotated/libc-linux.py

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

Summary

  1. [CodeGen][SelectionDAG] Flip Booleans More Often (details)
  2. Drop the number of thinlto jobs in some tests to avoid crashing on 32-bit windows (details)
  3. Revert "[CodeGen][SelectionDAG] Flip Booleans More Often" (details)
  4. [Support,Windows] Tolerate failure of CryptGenRandom (details)
  5. [MLIR] fix/update affine data copy utility for max/min bounds (details)
  6. [ARM] Remove condition that could never be true (details)
  7. [DAG] Consolidate require spill slot logic in lambda. NFC. (details)
  8. [docs] Add the release notes about Debug Entry Values (details)
  9. [SCCP] Use ranges for predicate info conditions. (details)
  10. [MLIR] Introduce std.alloca op (details)
  11. [X86] Fix implicit sign conversion warnings in X86 headers. (details)
  12. [ARM] unwinding .pad instructions missing in execute-only prologue (details)
  13. [clangd] DefineOutline: removes static token from static CXXMethodDecl (details)
  14. Fixed licenses in dynamic ast matchers (details)
  15. Add map-type check for target and target data directive, by Chi Chun (details)
  16. [InstCombine] add icmp+cast tests for ppc_fp128; NFC (details)
  17. [llvm-readobj] - Introduce warnings for cases when unable to read strings from string tables. (details)
  18. [clangd] Get rid of ASTWorker::getCurrentFileInputs (details)
  19. [clangd] Fix printing for Inclusion (details)
  20. Mark TestFixIts.py xfail for LLDB AArch64/Linux (details)
  21. Revert "[lldb-server] jThreadsInfo returns stack memory" (details)
  22. Stop passing site cfg files via --param to llvm-lit. (details)
  23. [AST] Fix a crash on invalid constexpr Ctorinitializer when building RecoveryExpr. (details)
  24. [analyzer] Try to lift 'REQUIRES: shell' for scan-build tests. (details)
  25. [libc++] Make sure the source file appears before link libraries when compiling tests (details)
  26. [Syntax] Simplify TokenCollector::Builder, use captured expansion bounds. NFC (details)
  27. [Clang] Add llvm.loop.unroll.disable to loops with -fno-unroll-loops. (details)
  28. [Syntax] Merge overlapping top-level macros in TokenBuffer (details)
  29. [Syntax] Add mapping from spelled to expanded tokens for TokenBuffer (details)
  30. [libc++] Support .sh.s tests in the new format (details)
  31. [libc++abi] Enable the new libc++ testing format by default (details)
  32. Revert "[analyzer] Try to lift 'REQUIRES: shell' for scan-build tests." (details)
  33. [X86][SSE] combineX86ShufflesConstants - early out for zeroable vectors (PR45443) (details)
  34. [hip] Remove `hip_pinned_shadow`. (details)
  35. LLD Support for Basic Block Sections (details)
  36. [lldb][NFC] Fix typo in 'watchpoint delete' error message (details)
  37. tsan: fix Go/ppc build (details)
  38. [NFC][XCOFF] refactor readobj/XCOFFDumper.cpp (details)
  39. [NFC][PowerPC] Cleanup 64-bit and Darwin CalleeSavedRegs (details)
  40. [RDA] Avoid inserting duplicate reaching defs (NFCI) (details)
  41. [RDA] Don't pass down TraversedMBB (NFC) (details)
  42. [RDA] Avoid full reprocessing of blocks in loops (NFCI) (details)
  43. [DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView. (details)
  44. Slightly modify some tests as follow up to bcf66084, which breaks tests. (details)
  45. DAG: Use the correct getPointerTy in a few places (details)
  46. [mlir][vulkan-runner] Fix createLowerToLLVMPass interface (details)
  47. [mlir][spirv] Fix wrong Phi parent block for back-to-back loops (details)
  48. [X86][SSE] Add PTEST(AND(X,Y),AND(X,Y)) tests derived from PR42035 examples (details)
  49. Check LLVM_BUILD_LLVM_C_DYLIB before building the C DLL with MSVC. (details)
  50. [ELF] -M/-Map: fix VMA/LMA/Size columns of symbol assignments when address/size>=2**32 (details)
  51. [ELF] --warn-backrefs: don't warn for linking sandwich problems (details)
  52. [AMDGPU] Limit endcf-collapase to simple if (details)
  53. [WebAssembly][MC] Fix leak of std::string members in MCSymbolWasm (details)
  54. [lit] Cleanup printing of discovered suites and tests (details)
  55. AMDGPU: Use early return (details)
  56. [AArch64] Don't expand memcmp in strict align mode. (details)
  57. Revert "Revert "[analyzer] Teach scan-build how to rebuild index.html without analyzing."" (details)
  58. AMDGPU: Cleanup test MIR (details)
  59. [DWARFLinker][dsymutil][NFC] Move DwarfStreamer into DWARFLinker. (details)
  60. [gn build] Port 88c2137b6d4 (details)
  61. [SelectionDAG] Make getZeroExtendInReg take a vector VT if the operand VT is a vector. (details)
  62. [AMDGPU] Extend constant folding for logical operations (details)
  63. [libc++] Translate MODULES_DEFINES annotations to ADDITIONAL_COMPILE_FLAGS (details)
  64. Allow parameter names to be elided in a function definition in C. (details)
  65. [Hexagon] Update paths for linux/musl (details)
  66. [clang-tidy] Added support for validating configuration options (details)
  67. [OpenMP] Optimized stream selection by scheduling data mapping for the same target region into a same stream (details)
  68. [clang-tidy] Change checks that take enum configurations to use a new access method. (details)
  69. [NFC][PowerPC] Fix register class for patterns using XXPERMDIs (details)
  70. [SampleFDO] Add flag for partial profile. (details)
  71. [OPENMP50]Codegen for iterator construct. (details)
  72. [OpenMP] "UnFix" layering problem with FrontendOpenMP (details)
  73. [ScriptInterpreterPython] Remove buggy code to save/restore stdin. (details)
  74. [OPENMP][DOCS]Update status of oimplemented constructs, NFC. (details)
  75. [mlir][Diagnostic] Don't store Operation arguments as a DiagnosticArgument (details)
  76. Revert "[SampleFDO] Add flag for partial profile." show-prof-info.test breaks on some platforms. (details)
  77. CodeGen: Use Register in more places (details)
  78. [TLI] fix a function's (commented) signature; NFC (details)
  79. [libc++] Run tests in a directory related to %t instead of /tmp (details)
  80. [ms] Add new /PDBSTREAM option to lld-link allowing injection of streams into PDB files. (details)
  81. Remove some top-level const from return values seen in review (details)
  82. Remove FxpMathOps dialect and Quantizer tool. (details)
  83. [clang-tidy] Fix buildbot failing with explicit specialization in class scope (details)
  84. Fix illegal early call to PyBuffer_Release in swig typemaps (details)
  85. [mlir][DRR] Add location directive (details)
  86. [BPI] Clear handles when releasing memory (NFC) (details)
  87. CodeGen: Use Register in TargetFrameLowering (details)
  88. [mlir][Pass][NFC] Replace usages of ModulePass with OperationPass<ModuleOp> (details)
  89. [mlir][Pass] Remove the use of CRTP from the Pass classes (details)
  90. [mlir][Pass] Update the PassGen to generate base classes instead of utilities (details)
  91. Don't access reference to a vector after pop_back (details)
  92. [Driver] Only pass LTO remark arguments if the driver asks for it (details)
  93. [libc++] Remove the %{not} substitution (details)
  94. [mlir][Pass] Update the documentation for the declarative pass specification (details)
  95. [AMDGPU] Implement copyPhysReg for 16 bit subregs (details)
  96. Recommit [SampleFDO] Add flag for partial profile. (details)
  97. [OPENMP]Do not capture global marked as shared in OpenMP region. (details)
  98. [libunwind] Fix UB in EHHeaderParser::findFDE (details)
  99. Don't expose unavailable cstdio functions. (details)
  100. [MLIR] Cleanup mlir-tblgen error messages for custom assembly formats. (details)
  101. [MLIR] Add note for file-line numbers in tablegen errors for assembly formats (details)
  102. Revert "Don't expose unavailable cstdio functions." (details)
  103. [VE] Adapt aa26dd985848364df01d3f8f0f3eaccfd5ee80dc and 2481f26ac3f228cc085d4d68ee72dadc07afa48f (details)
  104. [ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker() (details)
  105. CodeGen: More conversions to use Register (details)
  106. [mlir][AsmFormat] Avoid invalidating the iterator when verifying attributes (details)
  107. [VE] Migrate to the getMachineMemOperand overload using llvm::Align (details)
  108. Add MIR-level debugify with only locations support for now (details)
  109. [ManualDWARFIndex] Remove dead code, in preparation for moving this function. (details)
  110. [NFC] Clean up uses of LoadInst constructor. (details)
  111. [gn build] Port 1adeeabb79a (details)
  112. Reset more globalMemCounters. (details)
  113. Revert "[ObjC generics] Fix not inheriting type bounds in categories/extensions." (details)
  114. [lit] Improve consistency when printing test results (details)
  115. [lit] Print slowest test first when timing tests (details)
  116. [JumpThreading] NFC: Simplify ComputeValueKnownInPredecessorsImpl (details)
  117. Keep output file after successful execution of mlir-opt (details)
  118. [OpenMP] "UnFix" last layering problem with FrontendOpenMP (details)
  119. [mlir][Linalg] Use subview instead of linalg.slice in Promotion.cpp (details)
  120. [OpenMP] Try to find an existing base for `omp begin/end declare variant` (details)
  121. [OpenMP] Add match_{all,any,none} declare variant selector extensions. (details)
  122. [OpenMP] Specialize OpenMP calls after template instantiation (details)
  123. [OpenMP] Provide math functions in OpenMP device code via OpenMP variants (details)
  124. [AMDGPU] Expand vector trunc stores from i16 to i8 (details)
  125. [gn build] Port f85ae058f58 (details)
  126. [lit] Improve test summary output (details)
  127. [lit] Print slowest tests and time histogram before result groups (details)
  128. [DebugInfo] Fix reading DWARFv5 type units in DWP. (details)
  129. Add missing hyphens (details)
  130. [VE] Simplify definitions of uimm6 and simm7 (details)
  131. [clangd] Fix broken assertion (details)
  132. [clangd] Destroy context before resetting CurrentReq (details)
Commit 23342bdcc888835e744f38a2fcd0a5c651e33a31 by pierre.vanhoutryve
[CodeGen][SelectionDAG] Flip Booleans More Often

Differential Revision: https://reviews.llvm.org/D77201
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-or.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
Commit 717a460867633008520713614018f3c37503a5ca by hans
Drop the number of thinlto jobs in some tests to avoid crashing on 32-bit windows
The file was modifiedlld/test/wasm/lto/thinlto.ll
The file was modifiedlld/test/ELF/lto/thinlto.ll
The file was modifiedlld/test/COFF/thinlto.ll
Commit 4fc59a468ff43e6ea25f5184053f763b9fa34590 by pierre.vanhoutryve
Revert "[CodeGen][SelectionDAG] Flip Booleans More Often"

This reverts commit 23342bdcc888835e744f38a2fcd0a5c651e33a31.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-or.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
Commit aab9e9de4d9925617bb9bc3891fa96107b615149 by simon.tatham
[Support,Windows] Tolerate failure of CryptGenRandom

Summary:
In `Unix/Process.inc`, we seed a random number generator from
`/dev/urandom` if possible, but if not, we're happy to fall back to
ordinary pseudorandom strategies, like the current time and PID.

The corresponding function on Windows calls `CryptGenRandom`, but it
//doesn't// have a fallback if that strategy fails. But `CryptGenRandom`
//can// fail, if a cryptography provider isn't properly initialized, or
occasionally (by our observation) simply intermittently.

If it's reasonable on Unix to implement traditional pseudorandom-number
seeding as a fallback, then it's surely reasonable to do the same on
Windows. So this patch adds a last-ditch use of ordinary rand(), using
much the same strategy as the Unix fallback code.

Reviewers: hans, sammccall

Reviewed By: hans

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77553
The file was modifiedllvm/lib/Support/Windows/Process.inc
Commit 70da33bf30dabf9d3c1cddc8d18094f76ff860bb by uday
[MLIR] fix/update affine data copy utility for max/min bounds

Fix point-wise copy generation to work with bounds that have max/min.
Change structure of copy loop nest to use absolute loop indices and
subtracting base from the indexes of the fast buffers. Update supporting
utilities: Fix FlatAffineConstraints::getLowerAndUpperBound to look at
equalities as well and for a missing division. Update unionBoundingBox
to not discard common constraints (leads to a tighter system). Update
MemRefRegion::getConstantBoundingSizeAndShape to add memref dimension
constraints. Run removeTrivialRedundancy at the end of
MemRefRegion::compute.  Run single iteration loop promotion and
load/store canonicalization after affine data copy (in its test pass as
well).

Differential Revision: https://reviews.llvm.org/D77320
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/include/mlir/Analysis/Utils.h
The file was modifiedmlir/test/Dialect/Affine/dma-generate.mlir
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/test/Dialect/Affine/affine-data-copy.mlir
Commit 14c1e987546ef161769aa619bb9de21c943721ec by peter.smith
[ARM] Remove condition that could never be true

From Arm v8 Architecture Reference Manual F5.1.84 LDREXD
The ldrexd instruction in Arm state has the following conditions:

t = UInt(Rt); t2 = t + 1; n = UInt(Rn);
if Rt<0> == '1' || t2 == 15 || n == 15 then UNPREDICTABLE;

In when Rt is odd or if Rt is 14 (making t2 15).

In the implementation when the pair is the UNPREDICTABLE R14_R15 we
would ideally return SOFT_FAIL. We can't because there is no R14_R15
value for us to return so we fail early returning FAIL.

The early return for registers outside the bounds of the table means
the check for Rt == 14 (0xE) redundant which causes a static analyzer
to flag the condition as never being true.

To fix the warning I've removed the check and replaced with a comment
explaining the difference with the specification.

Fixes pr41660

Differential Revision: https://reviews.llvm.org/D77463
The file was modifiedllvm/test/MC/Disassembler/ARM/invalid-armv7.txt
The file was modifiedllvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
Commit b7e3759e177ef2ddc5adaf7951bb6fba1e5533fe by serguei.katkov
[DAG] Consolidate require spill slot logic in lambda. NFC.

Move the logic whether lowering of deopt value requires a spill slot in
a separate lambda.

Reviewers: reames, dantrushin
Reviewed By: dantrushin
Subscribers: hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D77629
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 3a4d9f8335c6646f9c8fcac2ade82580fd8d0780 by djolertrk
[docs] Add the release notes about Debug Entry Values

Note that x86, arm and aarch64 targets support the Debug Entry Values
feature by default.

Differential Revision: https://reviews.llvm.org/D77494
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 6aabb109becfee37126ff7db3d41a41b5779f359 by flo
[SCCP] Use ranges for predicate info conditions.

This patch updates the code that deals with conditions from predicate
info to make use of constant ranges.

For ssa_copy instructions inserted by PredicateInfo, we have 2 ranges:
1. The range of the original value.
2. The range imposed by the linked condition.

1. is known, 2. can be determined using makeAllowedICmpRegion. The
intersection of those ranges is the range for the copy.

With this patch, we get a nice increase in the number of instructions
eliminated by both SCCP and IPSCCP for some benchmarks:

For MultiSource, SPEC2000 & SPEC2006:

Tests: 237
Same hash: 170 (filtered out)
Remaining: 67
Metric: sccp.NumInstRemoved
Program                                        base    patch   diff
test-suite...Source/Benchmarks/sim/sim.test    10.00   71.00  610.0%
test-suite...CFP2000/177.mesa/177.mesa.test   361.00  1626.00 350.4%
test-suite...encode/alacconvert-encode.test   141.00  602.00  327.0%
test-suite...decode/alacconvert-decode.test   141.00  602.00  327.0%
test-suite...CI_Purple/SMG2000/smg2000.test   1639.00 4093.00 149.7%
test-suite...peg2/mpeg2dec/mpeg2decode.test    75.00  163.00  117.3%
test-suite...T2006/401.bzip2/401.bzip2.test   358.00  513.00  43.3%
test-suite...rks/FreeBench/pifft/pifft.test    11.00   15.00  36.4%
test-suite...langs-C/unix-tbl/unix-tbl.test     4.00    5.00  25.0%
test-suite...lications/sqlite3/sqlite3.test   541.00  667.00  23.3%
test-suite.../CINT2000/254.gap/254.gap.test   243.00  299.00  23.0%
test-suite...ks/Prolangs-C/agrep/agrep.test    25.00   29.00  16.0%
test-suite...marks/7zip/7zip-benchmark.test   1135.00 1304.00 14.9%
test-suite...lications/ClamAV/clamscan.test   1105.00 1268.00 14.8%
test-suite...urce/Applications/lua/lua.test   398.00  436.00   9.5%

Metric: sccp.IPNumInstRemoved
Program                                        base   patch   diff
test-suite...C/CFP2000/179.art/179.art.test     1.00   3.00  200.0%
test-suite...006/447.dealII/447.dealII.test   429.00 1056.00 146.2%
test-suite...nch/fourinarow/fourinarow.test     3.00   7.00  133.3%
test-suite...CI_Purple/SMG2000/smg2000.test   818.00 1748.00 113.7%
test-suite...ks/McCat/04-bisect/bisect.test     3.00   5.00  66.7%
test-suite...CFP2000/177.mesa/177.mesa.test   165.00 255.00  54.5%
test-suite...ediabench/gsm/toast/toast.test    18.00  27.00  50.0%
test-suite...telecomm-gsm/telecomm-gsm.test    18.00  27.00  50.0%
test-suite...ks/Prolangs-C/agrep/agrep.test    24.00  35.00  45.8%
test-suite...TimberWolfMC/timberwolfmc.test    43.00  62.00  44.2%
test-suite...encode/alacconvert-encode.test    46.00  66.00  43.5%
test-suite...decode/alacconvert-decode.test    46.00  66.00  43.5%
test-suite...langs-C/unix-tbl/unix-tbl.test    12.00  17.00  41.7%
test-suite...peg2/mpeg2dec/mpeg2decode.test    31.00  41.00  32.3%
test-suite.../CINT2000/254.gap/254.gap.test   117.00 154.00  31.6%

Reviewers: efriedma, davide

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D76611
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges-with-undef.ll
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges.ll
The file was modifiedllvm/test/Transforms/SCCP/ip-constant-ranges.ll
Commit 7023f4b4cb0157d95d98f32ace247acd9fc7b80a by uday
[MLIR] Introduce std.alloca op

Introduce the alloca op for stack memory allocation. When converting to the
LLVM dialect, this is lowered to an llvm.alloca. Refactor the std to
llvm conversion for alloc op to reuse with alloca. Drop useAlloca option
with alloc op lowering.

Differential Revision: https://reviews.llvm.org/D76602
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/test/IR/memory-ops.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 08fab9ebecf72a682279d75489dc2460121cbeed by pierre.gousseau
[X86] Fix implicit sign conversion warnings in X86 headers.

Warnings in emmintrin.h and xmmintrin.h are reported by
-fsanitize=implicit-integer-sign-change.

Reviewed By: RKSimon, craig.topper

Differential Revision: https://reviews.llvm.org/D77393
The file was modifiedclang/lib/Headers/xmmintrin.h
The file was modifiedclang/lib/Headers/emmintrin.h
The file was addedclang/test/Headers/x86-header-warnings.c
Commit 01dc10774eb87bc2f114a0e2d77083dbec62226b by keith.walker
[ARM] unwinding .pad instructions missing in execute-only prologue

If the stack pointer is altered for local variables and we are generating
Thumb2 execute-only code the .pad directive is missing.

Usually the size of the adjustment is stored in a PC-relative location
and loaded into a register which is then added to the stack pointer.
However when we are generating execute-only code code the size of the
adjustment is instead generated using the MOVW/MOVT instruction pair.

As a by product of handling the execute-only case this also fixes an
existing issue that in the none execute-only case the .pad directive was
generated against the load of the constant to a register instruction,
instead of the instruction which adds the register to the stack pointer.

Differential Revision: https://reviews.llvm.org/D76849
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp
The file was addedllvm/test/CodeGen/Thumb2/thumb2-execute-only-prologue.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was modifiedllvm/test/CodeGen/Thumb/emergency-spill-slot.ll
Commit 353a9883680e9d9666d02516a6692e8319af6d66 by n.james93
[clangd] DefineOutline: removes static token from static CXXMethodDecl

Summary: Removes the `static` token when defining a function out of line if the function is a `CXXMethodDecl`

Reviewers: sammccall, kadircet, hokein

Reviewed By: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D77534
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
Commit 3d1424bc7a0e9a6f9887727e2bc93a10f50e1709 by n.james93
Fixed licenses in dynamic ast matchers
The file was modifiedclang/lib/ASTMatchers/Dynamic/VariantValue.cpp
The file was modifiedclang/lib/ASTMatchers/Dynamic/Diagnostics.cpp
The file was modifiedclang/include/clang/ASTMatchers/Dynamic/VariantValue.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Marshallers.cpp
Commit a010ef8bd88fe28908c48362b04f59b89ad41250 by a.bataev
Add map-type check for target and target data directive, by Chi Chun
Chen

Reviewers: ABataev, jdoerfert

Reviewed By: ABataev

Subscribers: cfe-commits, dreachem, sandoval

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77581
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_data_messages.c
The file was modifiedclang/test/Analysis/cfg-openmp.cpp
The file was modifiedclang/test/OpenMP/target_parallel_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_map_messages.cpp
Commit e268ec8e0d7e81ae8091913a57d3230da44d6a48 by spatel
[InstCombine] add icmp+cast tests for ppc_fp128; NFC

See post-commit comments for rG0f56bbc.
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit 7fc599ceb015c6456e48b79453df9ac1b2965123 by grimar
[llvm-readobj] - Introduce warnings for cases when unable to read strings from string tables.

Currently we have no dedicated warnings, but we return error message instead of a result.
It is generally not consistent with another warnings we have.

This change was suggested and discussed here:
https://reviews.llvm.org/D77216#1954873

This change refines error messages we report and also I had to update the API
to implement it.

Differential revision: https://reviews.llvm.org/D77399
The file was modifiedllvm/test/tools/llvm-readobj/ELF/loadname.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/needed-libs.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-malformed.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 4ac7b805b7c4aa7af0a82d6187e3bd6ac0cf38cd by kadircet
[clangd] Get rid of ASTWorker::getCurrentFileInputs

Summary:
FileInputs are only written by ASTWorker thread, therefore it is safe
to read them without the lock inside that thread. It can still be read by other
threads through ASTWorker::getCurrentCompileCommand though.

This patch also gets rid of the smart pointer wrapping FileInputs as there is
never mutliple owners.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77309
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
Commit 59c28103a4a4d05db036157605a52a8075d60082 by kadircet
[clangd] Fix printing for Inclusion
The file was modifiedclang-tools-extra/clangd/Headers.cpp
Commit 2a436a07ae9749ed4d3f42c0d1e660eb4f7ca6e8 by omair.javaid
Mark TestFixIts.py xfail for LLDB AArch64/Linux
The file was modifiedlldb/test/API/commands/expression/fixits/TestFixIts.py
Commit e609fe68b2c59b145c0a5c66bedbee2bff545200 by omair.javaid
Revert "[lldb-server] jThreadsInfo returns stack memory"

This reverts commit a53bf9b7c8f1ca950226a55c0e99fd706a7b6ad2.
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py
The file was removedlldb/test/API/tools/lldb-server/threads-info/main.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was removedlldb/test/API/tools/lldb-server/threads-info/TestGdbRemoteThreadsInfoMemory.py
The file was removedlldb/test/API/tools/lldb-server/threads-info/Makefile
Commit 448b777b864a312e3b2ceae1e0cd59752a1fe90e by thakis
Stop passing site cfg files via --param to llvm-lit.

This has been unnecessary since https://reviews.llvm.org/D37756.

https://reviews.llvm.org/D37838 removed it for llvm.

This removes it from clang, lld, clang-tools-extra (and the GN build).

No intended behavior change.

Differential Revision: https://reviews.llvm.org/D77585
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedclang-tools-extra/clangd/test/CMakeLists.txt
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
Commit 041080c247351da15b6bb21a7196c8dc9bc6babc by hokein.wu
[AST] Fix a crash on invalid constexpr Ctorinitializer when building RecoveryExpr.

Summary:
crash stack:

```

lang:  workspace/llvm-project/clang/lib/AST/ExprConstant.cpp:13704: bool EvaluateInPlace(clang::APValue &, (anonymous namespace)::EvalInfo &, const (anonymous namespace)::LValue &, const clang::Expr *, bool): Assertion `!E->isValueDependent()' failed.
#8  EvaluateInPlace(clang::APValue&, (anonymous namespace)::EvalInfo&, (anonymous namespace)::LValue const&, clang::Expr const*, bool)  workspace/llvm-project/clang/lib/AST/ExprConstant.cpp:0:0
#9  HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, clang::APValue*, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&)  workspace/llvm-project/clang/lib/AST/ExprConstant.cpp:5779:57
#10  HandleConstructorCall(clang::Expr const*, (anonymous namespace)::LValue const&, llvm::ArrayRef<clang::Expr const*>, clang::CXXConstructorDecl const*, (anonymous namespace)::EvalInfo&, clang::APValue&)  workspace/llvm-project/clang/lib/AST/ExprConstant.cpp:5819:10
#11  clang::Expr::isPotentialConstantExpr(clang::FunctionDecl const*, llvm::SmallVectorImpl<std::pair<clang::SourceLocation, clang::PartialDiagnostic> >&) workspace/llvm-project/clang/lib/AST/ExprConstant.cpp:14746:5
#12  CheckConstexprFunctionBody(clang::Sema&, clang::FunctionDecl const*, clang::Stmt*, clang::Sema::CheckConstexprKind)  workspace/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:2306:7
#13  clang::Sema::CheckConstexprFunctionDefinition(clang::FunctionDecl const*, clang::Sema::CheckConstexprKind)  workspace/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:1766:0
#14  clang::Sema::ActOnFinishFunctionBody(clang::Decl*, clang::Stmt*, bool)  workspace/llvm-project/clang/lib/Sema/SemaDecl.cpp:14357:9
#15  clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&)  workspace/llvm-project/clang/lib/Parse/ParseStmt.cpp:2213:18
```

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: rsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77041
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was addedclang/test/SemaCXX/invalid-constructor-init.cpp
Commit cfd388d344ab29ad5e311ac96e382d96bd85d994 by Artem Dergachev
[analyzer] Try to lift 'REQUIRES: shell' for scan-build tests.

This is the second part of Denys's patch, committed separately
due to being more risky.

Differential Revision: https://reviews.llvm.org/D76768
The file was modifiedclang/test/Analysis/scan-build/html_output.test
The file was modifiedclang/test/Analysis/scan-build/plist_html_output.test
The file was modifiedclang/test/Analysis/scan-build/help.test
The file was modifiedclang/test/Analysis/scan-build/exclude_directories.test
The file was modifiedclang/test/Analysis/scan-build/plist_output.test
Commit 9949cfbd05a076ee4b70e393c5da49dce640a3c7 by Louis Dionne
[libc++] Make sure the source file appears before link libraries when compiling tests

Otherwise, files don't link when using a GNU linker, which is more
sensitive on the order of the source file relative to the various
linked libraries. See http://c-faq.com/lib/libsearch.html for an
explanation of the problem.
The file was modifiedlibcxx/test/libcxx/selftest/newformat/sh.cpp/remote-substitutions.sh.cpp
The file was modifiedlibcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
Commit ec0b9908952a9f4a19c3eb92ba0fc01cffcb8614 by sam.mccall
[Syntax] Simplify TokenCollector::Builder, use captured expansion bounds. NFC

Summary:
The motivation here is fixing https://bugs.llvm.org/show_bug.cgi?id=45428, see
D77507. The fundamental problem is that a "top-level" expansion wasn't precisely
defined. Repairing this concept means that TokenBuffer's "top-level expansion"
may not correspond to a single macro expansion. Example:

```
M(2); // expands to 1+2
```

The expansions overlap, but neither expansion alone yields all the tokens.
We need a TokenBuffer::Mapping that corresponds to their union.

This is fairly easy to fix in CollectPPExpansions, but the current design of
TokenCollector::Builder needs a fix too as it relies on the macro's expansion
range rather than the captured expansion bounds. This fix is hard to make due
to the way code is reused within Builder. And honestly, I found that code pretty
hard to reason about too.

The new approach doesn't use the expansion range, but only the expansion
location: it assumes an expansion is the contiguous set of expanded tokens with
the same expansion location, which seems like a reasonable formalization of
the "top-level" notion.

And hopefully the control flow is easier to follow too, it's considerably
shorter even with more documentation.

Reviewers: kadircet

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77614
The file was modifiedclang/lib/Tooling/Syntax/Tokens.cpp
Commit 338be9c59527c3d172f64e8861bcbb472297d52d by flo
[Clang] Add llvm.loop.unroll.disable to loops with -fno-unroll-loops.

Currently Clang does not respect -fno-unroll-loops during LTO. During
D76916 it was suggested to respect -fno-unroll-loops on a TU basis.

This patch uses the existing llvm.loop.unroll.disable metadata to
disable loop unrolling explicitly for each loop in the TU if
unrolling is disabled. This should ensure that loops from TUs compiled
with -fno-unroll-loops are skipped by the unroller during LTO.

This also means that if a loop from a TU with -fno-unroll-loops
gets inlined into a TU without this option, the loop won't be
unrolled.

Due to the fact that some transforms might drop loop metadata, there
potentially are cases in which we still unroll loops from TUs with
-fno-unroll-loops. I think we should fix those issues rather than
introducing a function attribute to disable loop unrolling during LTO.
Improving the metadata handling will benefit other use cases, like
various loop pragmas, too. And it is an improvement to clang completely
ignoring -fno-unroll-loops during LTO.

If that direction looks good, we can use a similar approach to also
respect -fno-vectorize during LTO, at least for LoopVectorize.

In the future, this might also allow us to remove the UnrollLoops option
LLVM's PassManagerBuilder.

Reviewers: Meinersbur, hfinkel, dexonsmith, tejohnson

Reviewed By: Meinersbur, tejohnson

Differential Revision: https://reviews.llvm.org/D77058
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp
The file was addedclang/test/CodeGenCXX/fno-unroll-loops-metadata.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-unroll.cpp
The file was modifiedclang/lib/CodeGen/CGLoopInfo.h
Commit d66afd6dde542dc373f87e07fe764c071fe20d76 by sam.mccall
[Syntax] Merge overlapping top-level macros in TokenBuffer

Summary:
Our previous definition of "top-level" was too informal, and didn't
allow for overlapping macros that each directly produce expanded tokens.
See D77507 for previous discussion.

Fixes http://bugs.llvm.org/show_bug.cgi?id=45428

Reviewers: kadircet, vabridgers

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77615
The file was modifiedclang/unittests/Tooling/Syntax/TokensTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tokens.cpp
Commit 1bf055c9891f1a5ab2ff6a04348bd83fcc0a9cde by gribozavr
[Syntax] Add mapping from spelled to expanded tokens for TokenBuffer

Summary:
Same restrictions apply as in the other direction: macro arguments are
not supported yet, only full macro expansions can be mapped.

Taking over from https://reviews.llvm.org/D72581.

Reviewers: gribozavr2, sammccall

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77209
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TokensTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tokens.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tokens.h
Commit f75ebe1ab37b4f0e2e68b4184ed9c81c9d897b94 by Louis Dionne
[libc++] Support .sh.s tests in the new format

libc++abi has two of these tests.
The file was modifiedlibcxx/utils/libcxx/test/newformat.py
Commit 2eb8864be282ab89dd4ed956a7e40503f7b28e84 by Louis Dionne
[libc++abi] Enable the new libc++ testing format by default

The new format should be equivalent to the old format, and it is now the
default format when running the libc++ tests. This commit changes the
libc++abi tests to use the new format by default too. If unexpected failures
are discovered, it should be fine to revert this commit until they are
addressed.

Also note that it is still possible to use the old format by passing
`--param=use_old_format=True` when running Lit for the time being.
The file was modifiedlibcxxabi/test/lit.cfg
Commit 6b3353e832940e9484bba7b8017b8ea1f0c63806 by Artem Dergachev
Revert "[analyzer] Try to lift 'REQUIRES: shell' for scan-build tests."

This reverts commit cfd388d344ab29ad5e311ac96e382d96bd85d994.
The file was modifiedclang/test/Analysis/scan-build/plist_html_output.test
The file was modifiedclang/test/Analysis/scan-build/help.test
The file was modifiedclang/test/Analysis/scan-build/html_output.test
The file was modifiedclang/test/Analysis/scan-build/exclude_directories.test
The file was modifiedclang/test/Analysis/scan-build/plist_output.test
Commit e3b60597769f79a8abc19fb8ef1f321d9adc1358 by llvm-dev
[X86][SSE] combineX86ShufflesConstants - early out for zeroable vectors (PR45443)

Shuffle combining can insert zero byte sized elements into the shuffle mask, which combineX86ShufflesConstants will attempt to fold without taking into account whether the byte-sized type is legal (e.g. AVX512F only targets).

If we have a full-zeroable vector then we should just return a zero version of the root type, otherwise if the type isn't valid we should bail.

Fixes PR45443
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/pr45443.ll
Commit c97be2c377852fad7eb38409aae5692fa417e49b by michael.hliao
[hip] Remove `hip_pinned_shadow`.

Summary:
- Use `device_builtin_surface` and `device_builtin_texture` for
  surface/texture reference support. So far, both the host and device
  use the same reference type, which could be revised later when
  interface/implementation is stablized.

Reviewers: yaxunl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77583
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was removedclang/test/SemaCUDA/hip-pinned-shadow.cu
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was removedclang/test/AST/ast-dump-hip-pinned-shadow.cu
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/Driver/hip-toolchain-no-rdc.hip
Commit 94317878d8267de23a1a23dfa3d92f9143c433ca by tmsriram
LLD Support for Basic Block Sections

This is part of the Propeller framework to do post link code layout
optimizations. Please see the RFC here:
https://groups.google.com/forum/#!msg/llvm-dev/ef3mKzAdJ7U/1shV64BYBAAJ and the
detailed RFC doc here:
https://github.com/google/llvm-propeller/blob/plo-dev/Propeller_RFC.pdf

This patch adds lld support for basic block sections and performs relaxations
after the basic blocks have been reordered.

After the linker has reordered the basic block sections according to the
desired sequence, it runs a relaxation pass to optimize jump instructions.
Currently, the compiler emits the long form of all jump instructions. AMD64 ISA
supports variants of jump instructions with one byte offset or a four byte
offset. The compiler generates jump instructions with R_X86_64 32-bit PC
relative relocations. We would like to use a new relocation type for these jump
instructions as it makes it easy and accurate while relaxing these instructions.

The relaxation pass does two things:

First, it deletes all explicit fall-through direct jump instructions between
adjacent basic blocks. This is done by discarding the tail of the basic block
section.

Second, If there are consecutive jump instructions, it checks if the first
conditional jump can be inverted to convert the second into a fall through and
delete the second.

The jump instructions are relaxed by using jump instruction mods, something
like relocations. These are used to modify the opcode of the jump instruction.
Jump instruction mods contain three values, instruction offset, jump type and
size. While writing this jump instruction out to the final binary, the linker
uses the jump instruction mod to determine the opcode and the size of the
modified jump instruction. These mods are required because the input object
files are memory-mapped without write permissions and directly modifying the
object files requires copying these sections. Copying a large number of basic
block sections significantly bloats memory.

Differential Revision: https://reviews.llvm.org/D68065
The file was modifiedlld/ELF/Relocations.h
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/LTO.cpp
The file was modifiedlld/ELF/Target.h
The file was addedlld/test/ELF/bb-sections-pc32reloc.s
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/bb-sections-delete-fallthru.s
The file was modifiedlld/ELF/InputSection.cpp
The file was modifiedlld/ELF/InputSection.h
The file was addedlld/test/ELF/bb-sections-and-icf.s
The file was modifiedlld/ELF/OutputSections.cpp
The file was modifiedlld/ELF/Arch/X86_64.cpp
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/Options.td
Commit 95054aeb07061dbfd6575c10673b9563430de64a by Raphael Isemann
[lldb][NFC] Fix typo in 'watchpoint delete' error message
The file was modifiedlldb/source/Commands/CommandObjectWatchpoint.cpp
Commit 2db63723a87527bac797996b8aa9d2f5a176b2f7 by dvyukov
tsan: fix Go/ppc build

PPC now requires ReExec due to ASLR.
Pull in more functions for Go build.

Suggested-by: Keith Randall (khr)
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 3aa084947e5fad795f45f0907d3e436db1a19757 by diggerlin
[NFC][XCOFF] refactor readobj/XCOFFDumper.cpp

SUMMARY:

refactor readobj/XCOFFDumper.cpp with helper function getAlignmentLog2() , getSymbolType(), isLabel().

Reviewers: Hubert Tong, James Henderson
Subscribers: rupprecht, seiyai,hiradityu

Differential Revision: https://reviews.llvm.org/D77562
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
Commit b9245f14b799855a7b81010793ec5368e65d0f0f by daltenty
[NFC][PowerPC] Cleanup 64-bit and Darwin CalleeSavedRegs

Summary:
- Remove the no longer used Darwin CalleeSavedRegs
- Combine the SVR464 callee saved regs and AIX64 since the two are (and should be) identical into PPC64
- Update tests for 64-bit CSR change

Reviewers: sfertile, ZarkoCA, cebowleratibm, jasonliu, #powerpc

Reviewed By: sfertile

Subscribers: wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77235
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-abi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/setcr_bc2.mir
The file was modifiedllvm/test/CodeGen/PowerPC/setcr_bc3.mir
The file was modifiedllvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/machine-backward-cp.mir
The file was modifiedllvm/test/CodeGen/PowerPC/aix-indirect-call.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCCallingConv.td
The file was modifiedllvm/test/CodeGen/PowerPC/aix-cc-byval.ll
The file was modifiedllvm/test/CodeGen/PowerPC/test_call_aix.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aantidep-def-ec.mir
The file was modifiedllvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessProfileData.mir
The file was modifiedllvm/test/CodeGen/PowerPC/aix-sret-param.ll
The file was modifiedllvm/test/CodeGen/PowerPC/setcr_bc.mir
The file was modifiedllvm/test/CodeGen/PowerPC/DisableHoistingDueToBlockHotnessNoProfileData.mir
The file was modifiedllvm/test/CodeGen/PowerPC/block-placement-1.mir
The file was modifiedllvm/test/CodeGen/PowerPC/licm-tocReg.ll
Commit 361c29d7ba55ee6fb762d36c08271375bb9f8c60 by nikita.ppv
[RDA] Avoid inserting duplicate reaching defs (NFCI)

An instruction may define the same reg unit multiple times,
avoid inserting the same reaching def multiple times in that case.

Also print the reg unit, rather than the super-register, in the
debug code.
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit 76e987b37220128929519c28bef5c566841d9aed by nikita.ppv
[RDA] Don't pass down TraversedMBB (NFC)

Only pass the MachineBasicBlock itself down to helper methods,
they don't need to know about traversal. Move the debug print
into the main method.
The file was modifiedllvm/include/llvm/CodeGen/ReachingDefAnalysis.h
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit 259649a51982d0ea6fdbaa62a87e802c9a8a86d2 by nikita.ppv
[RDA] Avoid full reprocessing of blocks in loops (NFCI)

RDA sometimes needs to visit blocks twice, to take into account
reaching defs coming in along loop back edges. Currently it handles
repeated visitation the same way as usual, which means that it will
scan through all instructions and their reg unit defs again. Not
only is this very inefficient, it also means that all reaching defs
in loops are going to be inserted twice.

We can do much better than this. The only thing we need to handle
is a new reaching def from a predecessor, which either needs to be
prepended to the reaching definitions (if there was no reaching def
from a predecessor), or needs to replace an existing predecessor
reaching def, if it is more recent. Since D77508 we only store the
most recent predecessor reaching def, so that's the only one that
may need updating.

This also has the nice side-effect that reaching definitions are
now automatically sorted and unique, so drop the llvm::sort() call
in favor of an assertion.

Differential Revision: https://reviews.llvm.org/D77511
The file was modifiedllvm/include/llvm/CodeGen/ReachingDefAnalysis.h
The file was modifiedllvm/lib/CodeGen/ReachingDefAnalysis.cpp
Commit bcf66084eddd4d3dbe78fc4ed39a347d5d8d57d4 by akhuang
[DebugInfo] Fix for adding "returns cxx udt" option to functions in CodeView.

Summary:
This change adds DIFlagNonTrivial to forward declarations of
DICompositeType. It adds the flag to nontrivial types and types with
unknown triviality.

It fixes adding the "CxxReturnUdt" flag to functions inconsistently,
since it is added based on whether the return type is marked NonTrivial, and
that changes if the return type was a forward declaration.

continues the discussion at https://reviews.llvm.org/D75215

Bug: https://bugs.llvm.org/show_bug.cgi?id=44785

Reviewers: rnk, dblaikie, aprantl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77436
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenCXX/debug-info-composite-triviality-fwd-decl.cpp
Commit dace7ada3814d87171e3a8be154f315e1f9d6029 by akhuang
Slightly modify some tests as follow up to bcf66084, which breaks tests.

The change in bcf6604 added a debug info flag, which caused some tests
to fail; I removed some commas so that the test matching still works.
The file was modifiedclang/test/Modules/ExtDebugInfo.cpp
The file was modifiedclang/test/Modules/ModuleDebugInfo.cpp
Commit b281138a1b67ca4405b77d774adc3de72742e7a2 by arsenm2
DAG: Use the correct getPointerTy in a few places

These should not be assuming address space 0. Calling getPointerTy is
generally the wrong thing to do, since you should already know the
type from the incoming IR.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit 2d3eb493d418c415b9d204afd5fb9e5ff8eeec99 by antiagainst
[mlir][vulkan-runner] Fix createLowerToLLVMPass interface

createLowerToLLVMPass() now requires a struct for passing in arguments
after 7023f4b4cb0157d95d98f32ace247acd9fc7b80a.
The file was modifiedmlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Commit 47b234944dc063daf61d3e72e6b603ba9615baf0 by antiagainst
[mlir][spirv] Fix wrong Phi parent block for back-to-back loops

If we have two back-to-back loops with block arguments, the OpPhi
instructions generated for the second loop's block arguments should
have use the merge block of the first SPIR-V loop structure as
their incoming parent block.

Differential Revision: https://reviews.llvm.org/D77543
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/phi.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
Commit 6f46e9af8a0e91456b4be5ca75382aa89e1056fd by llvm-dev
[X86][SSE] Add PTEST(AND(X,Y),AND(X,Y)) tests derived from PR42035 examples
The file was modifiedllvm/test/CodeGen/X86/combine-ptest.ll
Commit 95eb50c4470894e4cebb08ba3ea97efe2f7c179a by aaron
Check LLVM_BUILD_LLVM_C_DYLIB before building the C DLL with MSVC.
The file was modifiedllvm/tools/llvm-shlib/CMakeLists.txt
Commit 4e907e93fb42eff4ffc9a93026d1665de503acc9 by maskray
[ELF] -M/-Map: fix VMA/LMA/Size columns of symbol assignments when address/size>=2**32

SymbolAssignment::addr stores the location counter. The type should be
uint64_t instead of unsigned. The upper half of the address space is
commonly used by operating system kernels.

Similarly, SymbolAssignment::size should be an uint64_t. A kernel linker
script can move the location counter from 0 to the upper half of the
address space.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D77445
The file was modifiedlld/ELF/LinkerScript.h
The file was addedlld/test/ELF/map-file-64bit.s
Commit 03c825c224420c498f3f7aef8ad4fb005d62b8ec by maskray
[ELF] --warn-backrefs: don't warn for linking sandwich problems

This is an alternative design to D77512.

D45195 added --warn-backrefs to detect

* A. certain input orders which GNU ld either errors ("undefined reference")
  or has different resolution semantics
* B. (byproduct) some latent multiple definition problems (-ldef1 -lref -ldef2) which I
  call "linking sandwich problems". def2 may or may not be the same as def1.

When an archive appears more than once (-ldef -lref -ldef), lld and GNU
ld may have the same resolution but --warn-backrefs may warn. This is
not uncommon. For example, currently lld itself has such a problem:

```
liblldCommon.a liblldCOFF.a ... liblldCommon.a
  _ZN3lld10DWARFCache13getDILineInfoEmm in liblldCOFF.a refers to liblldCommon.a(DWARF.cpp.o)
libLLVMSupport.a also appears twice and has a similar warning
```

glibc has such problems. It is somewhat destined because of its separate
libc/libpthread/... and arbitrary grouping. The situation is getting
improved over time but I have seen:
```
-lc __isnanl references -lm
-lc _IO_funlockfile references -lpthread
```

There are also various issues in interaction with other runtime
libraries such as libgcc_eh and libunwind:
```
-lc __gcc_personality_v0 references -lgcc_eh
-lpthread __gcc_personality_v0 references -lgcc_eh
-lpthread _Unwind_GetCFA references -lunwind
```

These problems are actually benign. We want --warn-backrefs to focus on
its main task A and defer task B (which is also useful) to a more
specific future feature (see gold --detect-odr-violations and
https://bugs.llvm.org/show_bug.cgi?id=43110).

Instead of warning immediately, we store the message and only report it
if no subsequent lazy definition exists.

The use of the static variable `backrefDiags` is similar to `undefs` in
Relocations.cpp

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D77522
The file was modifiedlld/ELF/Symbols.h
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/warn-backrefs.s
Commit 12a324393d61a0ef602feeb9705ccb5b61563c27 by Stanislav.Mekhanoshin
[AMDGPU] Limit endcf-collapase to simple if

We can only collapse adjacent SI_END_CF if outer statement
belongs to a simple SI_IF, otherwise correct mask is not in the
register we expect, but is an argument of an S_XOR instruction.

Even if SI_IF is simple it might be lowered using S_XOR because
lowering is dependent on a basic block layout. It is not
considered simple if instruction consuming its output is
not an SI_END_CF. Since that SI_END_CF might have already been
lowered to an S_OR isSimpleIf() check may return false.

This situation is an opportunity for a further optimization
of SI_IF lowering, but that is a separate optimization. In the
meanwhile move SI_END_CF post the lowering when we already know
how the rest of the CFG was lowered since a non-simple SI_IF
case still needs to be handled.

Differential Revision: https://reviews.llvm.org/D77610
The file was modifiedllvm/test/CodeGen/AMDGPU/collapse-endcf.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Commit 5be42f36f5685f76d705c2faa1b1368c48aa2316 by sbc
[WebAssembly][MC] Fix leak of std::string members in MCSymbolWasm

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

Subscribers: dschuff, jgravelle-google, hiraditya, aheejin, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77627
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
The file was modifiedllvm/lib/MC/MCContext.cpp
Commit eb5ca295d7eb9200dd4b4ebe1d1112d750d66714 by julian.lettner
[lit] Cleanup printing of discovered suites and tests
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
The file was modifiedllvm/utils/lit/lit/main.py
Commit f596ab40666358e3eab09fc221c9f11e00c93f95 by arsenm2
AMDGPU: Use early return
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
Commit e9ac757f79cdaf25b3820fd13314dbc01b357ae9 by efriedma
[AArch64] Don't expand memcmp in strict align mode.

7aecf232 fixed the bug where we would miscompile, but we still generate
a crazy amount of code. Turn off the expansion until someone implements
an appropriate heuristic.

Differential Revision: https://reviews.llvm.org/D77599
The file was modifiedllvm/test/CodeGen/AArch64/bcmp-inline-small.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit 0c27fd82e1e62bd57c73b09c7d9dd00c42eb89d1 by Artem Dergachev
Revert "Revert "[analyzer] Teach scan-build how to rebuild index.html without analyzing.""

This reverts commit 21efb06f0ae2eb999f566d989997256d6cb12206.

Changes since last attempt to land this patch:
- Sort files before deduplicating. This hopefully avoids some buildbot failures.
- Fix use of uninitialized variable when running without --use-analyzer.
- Remove the "REQUIRES: windows" item.
The file was modifiedclang/tools/scan-build/bin/scan-build
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-1.html
The file was addedclang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-3.html
The file was addedclang/test/Analysis/scan-build/rebuild_index/subdirectory/report-4.html
The file was addedclang/test/Analysis/scan-build/rebuild_index/report-2.html
Commit f524194ffdd55a690a6f8bff9619f8c74deb3e1b by arsenm2
AMDGPU: Cleanup test MIR
The file was modifiedllvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Commit 88c2137b6d49f88186d0957a4e2d8030a3967334 by a.v.lapshin
[DWARFLinker][dsymutil][NFC] Move DwarfStreamer into DWARFLinker.

For implementing "remove obsolete debug info in lld", it is neccesary
to have DWARF generation code implementation. dsymutil uses DwarfStreamer
for that purpose. DwarfStreamer uses AsmPrinter. It is considered OK
to use AsmPrinter based code in lld(D74169). This patch moves
DwarfStreamer implementation into DWARFLinker, so that it could be reused
from lld.

Generally, a better place for such a common DWARF generation code would be
not DWARFLinker but an additional separate library. Such a library could
contain a single version of DWARF generation routines and could also
be independent of AsmPrinter. At the current moment, DwarfStreamer
does not pretend to be such a general implementation of DWARF generation.
So I decided to put it into DWARFLinker since it is the only user
of DwarfStreamer.

Testing: it passes "check-all" lit testing. MD5 checksum for clang .dSYM
bundle matches for the dsymutil with/without that patch.

Reviewed By: JDevlieghere

Differential revision: https://reviews.llvm.org/D77169
The file was modifiedllvm/lib/DWARFLinker/CMakeLists.txt
The file was removedllvm/tools/dsymutil/DwarfStreamer.h
The file was addedllvm/lib/DWARFLinker/DWARFStreamer.cpp
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.cpp
The file was modifiedllvm/tools/dsymutil/LinkUtils.h
The file was modifiedllvm/tools/dsymutil/DwarfLinkerForBinary.h
The file was addedllvm/include/llvm/DWARFLinker/DWARFStreamer.h
The file was removedllvm/tools/dsymutil/DwarfStreamer.cpp
The file was modifiedllvm/tools/dsymutil/CMakeLists.txt
Commit 1a28d33f37f95c76ecba4cf1fc577940bf5e7280 by llvmgnsyncbot
[gn build] Port 88c2137b6d4
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DWARFLinker/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Commit c41685b16fcceaa2078eb14eb27f6696f851eb49 by craig.topper
[SelectionDAG] Make getZeroExtendInReg take a vector VT if the operand VT is a vector.

This removes a call to getScalarType from a bunch of call sites.
It also makes the behavior consistent with SIGN_EXTEND_INREG.

Differential Revision: https://reviews.llvm.org/D77631
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit a19a56f6a1ff1f022f7af64bc1281fe018e84494 by arsenm2
[AMDGPU] Extend constant folding for logical operations

This patch extends existing constant folding in logical operations to
handle S_XNOR, S_NAND, S_NOR, S_ANDN2, S_ORN2, V_LSHL_ADD_U32 and
V_AND_OR_B32. Also added a couple of tests for existing folds.
The file was modifiedllvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Commit f8b6529218f22ea112aabebe13d58cfef6a9c09a by Louis Dionne
[libc++] Translate MODULES_DEFINES annotations to ADDITIONAL_COMPILE_FLAGS

This allows both the old and the new testing formats to handle these
tests with modules enabled.

We also include the modules flags in the %{flags} substitution, which
means that .sh.cpp tests in the old format and all tests in the new
format will use modules flags when enabled.
The file was modifiedlibcxx/test/std/containers/sequences/vector/types.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.mutex/thread_safety_lock_unlock.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/not1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_indexing.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
The file was modifiedlibcxx/test/libcxx/thread/futures/futures.promise/set_exception.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/list/types.pass.cpp
The file was modifiedlibcxx/test/libcxx/atomics/libcpp-has-no-threads.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_types.depr_in_cxx17.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_void.depr_in_cxx17.fail.cpp
The file was modifiedlibcxx/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/binder2nd.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/deque/incomplete.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/next.debug1.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/newformat.py
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/exception.unexpected/unexpected.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.lock/thread.lock.guard/nodiscard.fail.cpp
The file was modifiedlibcxx/test/std/depr/depr.lib.binders/depr.lib.binder.1st/binder1st.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/array/array.zero/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
The file was modifiedlibcxx/test/libcxx/include_as_c.sh.cpp
The file was modifiedlibcxx/test/libcxx/strings/iterators.noexcept.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_void.cxx2a.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/exception.unexpected/get_unexpected.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_string.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.cxx1z.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp
The file was modifiedlibcxx/test/std/depr/depr.lib.binders/depr.lib.bind.1st/bind1st.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/not2.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/advance.debug1.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/db_string_view.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/binary_negate.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.fail.cpp
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/negators/unary_negate.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/debug_abort.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/debug_helper_test.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/memory/util.dynamic.safety/get_pointer_safety_new_abi.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/enable_nodiscard.fail.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.depr_in_cxx14.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.function.objects/adaptors.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/libcxx/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
The file was modifiedlibcxx/test/libcxx/debug/debug_register.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/exception.unexpected/set_unexpected.pass.cpp
The file was modifiedlibcxx/test/libcxx/iterators/prev.debug1.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.mutex/thread_safety_lock_guard.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/deque/types.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/libcxx/depr/enable_removed_cpp17_features.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.mutex/thread_safety_requires_capability.pass.cpp
The file was modifiedlibcxx/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.mutex/thread_safety_missing_unlock.fail.cpp
The file was modifiedlibcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
The file was modifiedlibcxx/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/bind2nd.depr_in_cxx11.fail.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.fail.cpp
The file was modifiedlibcxx/utils/libcxx/test/format.py
Commit 86b5eabfeab164dcb680f6690e7718e3d21ceeb5 by aaron
Allow parameter names to be elided in a function definition in C.

WG14 has adopted N2480 (http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2480.pdf)
into C2x at the meetings last week, allowing parameter names of a function
definition to be elided. This patch relaxes the error so that C++ and C2x do not
diagnose this situation, and modes before C2x will allow it as an extension.

This also adds the same feature to ObjC blocks under the assumption that ObjC
wishes to follow the C standard in this regard.
The file was modifiedclang/test/Sema/c89.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Sema/function.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/block-args.c
Commit aed2fdb1671c31ceff6997af56ae67831dad2595 by sidneym
[Hexagon] Update paths for linux/musl

Update the sysroot expectation to match other targets and breakout
linux/musl toolchain tests into a new file.

Differential Revision: https://reviews.llvm.org/D77440
The file was addedclang/test/Driver/Inputs/hexagon_tree/Tools/target/hexagon/include/c++/v1/readme
The file was addedclang/test/Driver/hexagon-toolchain-linux.c
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.h
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
Commit fcf7cc268fe4560bc7cd751494beceff45f5dd10 by n.james93
[clang-tidy] Added support for validating configuration options

Summary:
Adds support for `ClangTidyCheck::OptionsView` to deteremine:
  - If an option is found in the configuration.
  - If an integer option read from configuration is parsable to an integer.
  - Parse and Serialize enum configuration options directly using a mapping from `llvm::StringRef` to `EnumType`.
  - If an integer or enum option isn't parseable but there is a default value it will issue a warning to stderr that the config value hasn't been used.
  - If an enum option isn't parsable it can provide a hint if the value was a typo.

Reviewers: aaron.ballman, alexfh, gribozavr2

Reviewed By: aaron.ballman

Subscribers: xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D77085
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
The file was modifiedclang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
Commit 32ed29271fd8c56abee8616e5a16a3c9e58f4741 by tianshilei1992
[OpenMP] Optimized stream selection by scheduling data mapping for the same target region into a same stream

Summary:
This patch introduces two things for offloading:
1. Asynchronous data transferring: those functions are suffix with `_async`. They have one more argument compared with their synchronous counterparts: `__tgt_async_info*`, which is a new struct that only has one field, `void *Identifier`. This struct is for information exchange between different asynchronous operations. It can be used for stream selection, like in this case, or operation synchronization, which is also used. We may expect more usages in the future.
2. Optimization of stream selection for data mapping. Previous implementation was using asynchronous device memory transfer but synchronizing after each memory transfer. Actually, if we say kernel A needs four memory copy to device and two memory copy back to host, then we can schedule these seven operations (four H2D, two D2H, and one kernel launch) into a same stream and just need synchronization after memory copy from device to host. In this way, we can save a huge overhead compared with synchronization after each operation.

Reviewers: jdoerfert, ye-luo

Reviewed By: jdoerfert

Subscribers: yaxunl, lildmh, guansong, openmp-commits

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D77005
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedopenmp/libomptarget/include/omptarget.h
The file was modifiedopenmp/libomptarget/plugins/exports
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/src/rtl.h
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/include/omptargetplugin.h
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/api.cpp
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/generic-elf-64bit/src/rtl.cpp
Commit 9dff9ecdd113ca57b8c548ebcdb14121bfd1840c by n.james93
[clang-tidy] Change checks that take enum configurations to use a new access method.

Summary: Change all checks that take enums as configuration to use enum specific methods in `ClangTidyCheck::OptionsView`.

Reviewers: aaron.ballman, alexfh

Reviewed By: aaron.ballman

Subscribers: wuzish, nemanjai, kbarton, arphaman, xazax.hun, cfe-commits

Tags: #clang, #clang-tools-extra

Differential Revision: https://reviews.llvm.org/D76606
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/IncludeSorter.h
The file was modifiedclang-tools-extra/clang-tidy/abseil/StringFindStartswithCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/TypePromotionInMathFnCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-case-violation.cpp
Commit ecd8435483acc6551381d6804a9575e5898054c5 by nemanja.i.ibm
[NFC][PowerPC] Fix register class for patterns using XXPERMDIs

There are a few patterns where we use a superclass for inputs to this
instruction rather than the correct class. This can sometimes lead to
unncessary copies.
The file was modifiedllvm/test/CodeGen/PowerPC/build-vector-tests.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_3.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_1.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_4.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pre-inc-disable.ll
The file was modifiedllvm/test/CodeGen/PowerPC/VSX-XForm-Scalars.ll
The file was modifiedllvm/test/CodeGen/PowerPC/swaps-le-6.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pr38087.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vsx_insert_extract_le.ll
The file was modifiedllvm/test/CodeGen/PowerPC/load-v4i8-improved.ll
The file was modifiedllvm/test/CodeGen/PowerPC/qpx-load-splat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/load-and-splat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar_vector_test_2.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
Commit e3ba652a1440794eff0b43ce747f1b0488585d22 by wmi
[SampleFDO] Add flag for partial profile.

The common profile usage is to collect profile from a target and then use the profile to guide the optimized build for the same target. There are some cases that no profile can be collected for a target. In those cases, although no full profile is available, it is possible to have some partial profile collected from other targets to optimize common libraries and utilities. A flag is needed to tell the partial profile from the full profile apart, so compiler can use different strategy for them.

Differential Revision: https://reviews.llvm.org/D77426
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was removedllvm/test/tools/llvm-profdata/show-prof-size.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was addedllvm/test/tools/llvm-profdata/show-prof-info.test
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/IR/ProfileSummary.h
Commit be99c6158841d0c01eaa8ba16cd7b9e5ade40c6b by a.bataev
[OPENMP50]Codegen for iterator construct.

Implemented codegen for the iterator expression in the depend clauses.
Iterator construct is emitted the following way:
iterator(cnt1, cnt2, ...), in : <dep>

<TotalNumDeps> = <cnt1_size> * <cnt2_size> * ...;
kmp_depend_t deps[<TotalNumDeps>];
deps_counter = 0;
for (cnt1) {
  for (cnt2) {
    ...
    deps[deps_counter].base_addr = &<dep>;
    deps[deps_counter].size = sizeof(<dep>);
    deps[deps_counter].flags = in;
    deps_counter += 1;
    ...
  }
}

For depobj construct the codegen is very similar, but the memory is
allocated dynamically and added extra first item reserved for internal use.
The file was modifiedclang/test/OpenMP/target_enter_data_depend_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/depobj_codegen.cpp
The file was modifiedclang/test/OpenMP/target_exit_data_depend_codegen.cpp
The file was modifiedclang/include/clang/AST/ExprOpenMP.h
The file was modifiedclang/test/OpenMP/depobj_ast_print.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/OpenMP/task_codegen.c
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_update_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
Commit f9d558c871337699d2815dbf116bae94025f5d90 by johannes
[OpenMP] "UnFix" layering problem with FrontendOpenMP

This reverts commit 97aa593a8387586095b7eac12974ba2fdd08f4c3 as it
causes problems (PR45453) https://reviews.llvm.org/D77574#1966321.

This additionally adds an explicit reference to FrontendOpenMP to
clang-tidy where ASTMatchers is used.

This is hopefully just a temporary solution. The dependence on
`FrontendOpenMP` from `ASTMatchers` should be handled by CMake
implicitly, not us explicitly.

Reviewed By: aheejin

Differential Revision: https://reviews.llvm.org/D77666
The file was modifiedclang-tools-extra/unittests/clang-move/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-move/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/darwin/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/cert/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-include-fixer/find-all-symbols/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-query/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Core/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-doc/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-doc/CMakeLists.txt
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/zircon/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/abseil/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/google/CMakeLists.txt
The file was modifiedclang/lib/Tooling/Transformer/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/linuxkernel/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-include-fixer/find-all-symbols/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/openmp/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/llvm/CMakeLists.txt
The file was modifiedclang/unittests/Rename/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/utils/CMakeLists.txt
The file was modifiedclang/unittests/Analysis/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
The file was modifiedclang/lib/ASTMatchers/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/modernize/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/portability/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-change-namespace/tool/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-query/CMakeLists.txt
The file was modifiedclang/unittests/AST/CMakeLists.txt
The file was modifiedclang/unittests/StaticAnalyzer/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-reorder-fields/CMakeLists.txt
The file was modifiedclang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
The file was modifiedclang/unittests/Sema/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/mpi/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/objc/CMakeLists.txt
The file was modifiedclang/lib/Tooling/CMakeLists.txt
The file was modifiedclang-tools-extra/tool-template/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-change-namespace/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/llvmlibc/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/performance/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-change-namespace/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/android/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/misc/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/boost/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/hicpp/CMakeLists.txt
The file was modifiedclang-tools-extra/unittests/clang-tidy/CMakeLists.txt
The file was modifiedclang/unittests/ASTMatchers/CMakeLists.txt
Commit 30a292c25df327eb35b341b919c4e9b5e80323be by ditaliano
[ScriptInterpreterPython] Remove buggy code to save/restore stdin.

Discussed on lldb-dev with Pavel Labath. This doesn't work for
background processes [causes Python to be stuck forever], and it's
unclear whether it's needed. There's no test, also. If this turns
out to be useful, it can be recommitted with a functional implementation
and a test.
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit e0ae907ab5a15fe6d814f4794ab6f4c541149482 by a.bataev
[OPENMP][DOCS]Update status of oimplemented constructs, NFC.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit c0a33aaa804847e74e1514ce881d43435e94c172 by riddleriver
[mlir][Diagnostic] Don't store Operation arguments as a DiagnosticArgument

Summary: Diagnostics may be cached in the parallel diagnostic handler to preserve proper ordering. Storing the Operation as a DiagnosticArgument is problematic as the operation may be erased or changed before it finally gets printed.

Differential Revision: https://reviews.llvm.org/D77675
The file was modifiedmlir/lib/IR/Diagnostics.cpp
The file was modifiedmlir/include/mlir/IR/Diagnostics.h
Commit c5da949ae8ce241ff171b2a027e730f4fd34232e by wmi
Revert "[SampleFDO] Add flag for partial profile." show-prof-info.test breaks on some platforms.

This reverts commit e3ba652a1440794eff0b43ce747f1b0488585d22.
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was modifiedllvm/include/llvm/IR/ProfileSummary.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was removedllvm/test/tools/llvm-profdata/show-prof-info.test
The file was addedllvm/test/tools/llvm-profdata/show-prof-size.test
Commit aa26dd985848364df01d3f8f0f3eaccfd5ee80dc by arsenm2
CodeGen: Use Register in more places
The file was modifiedllvm/lib/CodeGen/TargetRegisterInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineOperand.h
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.h
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was modifiedllvm/lib/CodeGen/MachineRegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit ff30d015222e2b6fada6c649bb228167a9343314 by George Burgess IV
[TLI] fix a function's (commented) signature; NFC

__strlen_chk returns a `size_t`, not a `char *`.
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
Commit 3fefda6e578b431875405791bc7216595d767fbf by Louis Dionne
[libc++] Run tests in a directory related to %t instead of /tmp

Instead of creating a temporary directory inside /tmp and running the
tests there, use a directory name based on LIT's %t substitution. This
has the benefit of not hitting /tmp so much (which is slow on some
filesystems). It also has the benefit that `ninja -C build clean` will
automatically remove the artifacts even if a test somehow failed to
remove its temporary directory (I've seen this happen when CTRL-C is
received).
The file was modifiedlibcxx/utils/run.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit a39b14f0b42d6bd835dec448506660d77bbbb7c7 by epastor
[ms] Add new /PDBSTREAM option to lld-link allowing injection of streams into PDB files.

Summary:
/PDBSTREAM:<name>=<file> adds the contents of <file> to stream <name> in the resulting PDB.

This allows native uses with workflows that (for example) add srcsrv streams to PDB files to provide a location for the build's source files.

Results should be equivalent to linking with lld-link, then running Microsoft's pdbstr tool with the command line:
pdbstr.exe -w -p:<PDB LOCATION> -s:<name> -i:<file>
except in cases where the named stream overlaps with a default named stream, such as "/names". In those cases, the added stream will be overridden, making the /pdbstream option a no-op.

Reviewers: thakis, rnk

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D77310
The file was modifiedlld/COFF/Options.td
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/COFF/PDB.cpp
The file was addedlld/test/COFF/Inputs/stream.txt
The file was modifiedlld/COFF/Driver.cpp
The file was addedlld/test/COFF/pdbstream.test
Commit da4ffc64e4a13d9d5fea5acff63b24d74a065cef by dblaikie
Remove some top-level const from return values seen in review
The file was modifiedllvm/include/llvm/MC/MCSymbolWasm.h
Commit f5deb0878d9a381a246d30b87a180b4369bf4ea8 by stellaraccident
Remove FxpMathOps dialect and Quantizer tool.

Summary:
* Removal of FxpMathOps was discussed on the mailing list.
* Will send a courtesy note about also removing the Quantizer (which had some dependencies on FxpMathOps).
* These were only ever used for experimental purposes and we know how to get them back from history as needed.
* There is a new proposal for more generalized quantization tooling, so moving these older experiments out of the way helps clean things up.

Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, grosul1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77479
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was removedmlir/include/mlir/Dialect/FxpMathOps/Passes.h
The file was modifiedmlir/docs/Passes.md
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was removedmlir/lib/Quantizer/Support/UniformConstraints.cpp
The file was modifiedmlir/include/mlir/CMakeLists.txt
The file was modifiedmlir/lib/CMakeLists.txt
The file was removedmlir/include/mlir/Quantizer/Support/UniformConstraints.h
The file was removedmlir/lib/Quantizer/Transforms/InferQuantizedTypesPass.cpp
The file was removedmlir/lib/Quantizer/Transforms/RemoveInstrumentationPass.cpp
The file was removedmlir/unittests/Quantizer/Support/RulesTest.cpp
The file was removedmlir/lib/Quantizer/Support/TypeUtils.cpp
The file was removedmlir/include/mlir/Quantizer/Support/TypeUtils.h
The file was removedmlir/include/mlir/Quantizer/CMakeLists.txt
The file was removedmlir/test/Dialect/FxpMathOps/lower-uniform-real-math-addew.mlir
The file was removedmlir/include/mlir/Quantizer/Transforms/CMakeLists.txt
The file was removedmlir/lib/Quantizer/Transforms/AddDefaultStatsTestPass.cpp
The file was removedmlir/lib/Quantizer/Configurations/FxpMathConfig.cpp
The file was removedmlir/include/mlir/Quantizer/Transforms/Passes.h
The file was removedmlir/lib/Quantizer/Support/UniformSolvers.cpp
The file was removedmlir/test/Quantizer/matmul.mlir
The file was modifiedmlir/docs/Quantization.md
The file was removedmlir/lib/Quantizer/CMakeLists.txt
The file was removedmlir/include/mlir/Quantizer/Configurations/FxpMathConfig.h
The file was removedmlir/include/mlir/Quantizer/Support/Statistics.h
The file was removedmlir/test/Quantizer/remove-instrumentation.mlir
The file was removedmlir/include/mlir/Quantizer/Support/UniformSolvers.h
The file was removedmlir/include/mlir/Quantizer/Support/Metadata.h
The file was removedmlir/lib/Dialect/FxpMathOps/IR/FxpMathOps.cpp
The file was removedmlir/include/mlir/Quantizer/Support/ConstraintAnalysisGraphTraits.h
The file was removedmlir/include/mlir/Quantizer/Support/Configuration.h
The file was removedmlir/include/mlir/Dialect/FxpMathOps/Passes.td
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/examples/standalone/standalone-opt/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.td
The file was removedmlir/lib/Dialect/FxpMathOps/Transforms/UniformKernelUtils.h
The file was removedmlir/lib/Quantizer/Support/Statistics.cpp
The file was removedmlir/lib/Dialect/FxpMathOps/CMakeLists.txt
The file was removedmlir/include/mlir/Quantizer/Support/ConstraintAnalysisGraph.h
The file was removedmlir/test/Dialect/FxpMathOps/lower-uniform-real-math-mulew.mlir
The file was removedmlir/lib/Quantizer/Support/Metadata.cpp
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was removedmlir/lib/Dialect/FxpMathOps/Transforms/LowerUniformRealMath.cpp
The file was removedmlir/test/Dialect/FxpMathOps/lower-uniform-casts.mlir
The file was removedmlir/lib/Quantizer/Support/Configuration.cpp
The file was removedmlir/lib/Quantizer/Support/ConstraintAnalysisGraph.cpp
The file was removedmlir/include/mlir/Dialect/FxpMathOps/FxpMathOps.h
The file was removedmlir/include/mlir/Quantizer/Transforms/Passes.td
The file was removedmlir/include/mlir/Quantizer/Support/Rules.h
The file was removedmlir/unittests/Quantizer/Support/UniformSolversTest.cpp
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was removedmlir/include/mlir/Dialect/FxpMathOps/CMakeLists.txt
Commit 0361798dbeb6ead0a79ab7985f02da347fce988e by n.james93
[clang-tidy] Fix buildbot failing with explicit specialization in class scope
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.h
Commit c8de17bca658e62bbf8c33eae839e457332e885e by lawrence_danna
Fix illegal early call to PyBuffer_Release in swig typemaps

Summary:
The buffer protocol does not allow us to just call PyBuffer_Release
and assume the buffer will still be there.   Most things that implement the
buffer protocol will let us get away with that, but not all.   We need
to release it at the end of the SWIG wrapper.

Reviewers: labath, jasonmolenda, JDevlieghere, vadimcn

Reviewed By: labath

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D77480
The file was modifiedlldb/bindings/python/python-typemaps.swig
Commit 3f7439b28063c284975b49ebdc9c5645cedae7a0 by jpienaar
[mlir][DRR] Add location directive

Summary:
Add directive to indicate the location to give to op being created. This
directive is optional and if unused the location will still be the fused
location of all source operations.

Currently this directive only works with other op locations, reusing an
existing op location or a fusion of op locations. But doesn't yet support
supplying metadata for the FusedLoc.

Based off initial revision by antiagainst@ and effectively mirrors GlobalIsel
debug_locations directive.

Differential Revision: https://reviews.llvm.org/D77649
The file was modifiedmlir/lib/TableGen/Pattern.cpp
The file was modifiedmlir/docs/DeclarativeRewrites.md
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/include/mlir/TableGen/Pattern.h
Commit fe8abbf4425e20b5d3865924654f32b60f116d80 by nikita.ppv
[BPI] Clear handles when releasing memory (NFC)

This reduces max-rss of sqlite compilation by 2.5%.
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
Commit 2481f26ac3f228cc085d4d68ee72dadc07afa48f by arsenm2
CodeGen: Use Register in TargetFrameLowering
The file was modifiedllvm/lib/Target/AMDGPU/R600FrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600FrameLowering.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.h
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcRegisterInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/GCRootLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/WinException.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/lib/Target/ARM/ThumbRegisterInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/R600InstrInfo.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.h
Commit 722f909f7aa1d5ab21f68eb8ce1baf109cc5bb13 by riddleriver
[mlir][Pass][NFC] Replace usages of ModulePass with OperationPass<ModuleOp>

ModulePass doesn't provide any special utilities and thus doesn't give enough benefit to warrant a special pass class. This revision replaces all usages with the more general OperationPass.

Differential Revision: https://reviews.llvm.org/D77339
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was modifiedmlir/test/lib/IR/TestSideEffects.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was modifiedmlir/test/lib/Transforms/TestOpaqueLoc.cpp
The file was modifiedmlir/docs/Tutorials/Toy/Ch-6.md
The file was modifiedmlir/lib/Transforms/OpStats.cpp
The file was modifiedmlir/test/lib/Transforms/TestAllReduceLowering.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
The file was modifiedmlir/test/lib/IR/TestSymbolUses.cpp
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
The file was modifiedmlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
The file was modifiedmlir/test/lib/Transforms/TestCallGraph.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
The file was modifiedmlir/test/lib/IR/TestFunc.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/test/lib/Pass/TestPassManager.cpp
Commit 80aca1eaf778a58458833591e82b74647b5b7280 by riddleriver
[mlir][Pass] Remove the use of CRTP from the Pass classes

This revision removes all of the CRTP from the pass hierarchy in preparation for using the tablegen backend instead. This creates a much cleaner interface in the C++ code, and naturally fits with the rest of the infrastructure. A new utility class, PassWrapper, is added to replicate the existing behavior for passes not suitable for using the tablegen backend.

Differential Revision: https://reviews.llvm.org/D77350
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopParametricTiling.cpp
The file was modifiedmlir/include/mlir/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.h
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp
The file was modifiedmlir/test/lib/Transforms/TestDominance.cpp
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
The file was modifiedmlir/test/lib/IR/TestMatchers.cpp
The file was modifiedmlir/docs/Tutorials/Toy/Ch-4.md
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefDependenceCheck.cpp
The file was modifiedmlir/test/lib/Transforms/TestCallGraph.cpp
The file was modifiedmlir/lib/Transforms/OpStats.cpp
The file was modifiedmlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
The file was modifiedmlir/lib/Transforms/CSE.cpp
The file was modifiedmlir/test/lib/Transforms/TestVectorToLoopsConversion.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
The file was modifiedmlir/lib/Transforms/LoopCoalescing.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.h
The file was modifiedmlir/lib/Transforms/ViewRegionGraph.cpp
The file was modifiedmlir/test/lib/Transforms/TestAllReduceLowering.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopMapping.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/test/lib/IR/TestFunc.cpp
The file was modifiedmlir/test/lib/Transforms/TestOpaqueLoc.cpp
The file was modifiedmlir/test/lib/Transforms/TestLiveness.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.h
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/test/lib/Transforms/TestLoopFusion.cpp
The file was modifiedmlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
The file was modifiedmlir/test/lib/Transforms/TestGpuMemoryPromotion.cpp
The file was modifiedmlir/test/lib/Transforms/TestGpuParallelLoopMapping.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
The file was modifiedmlir/include/mlir/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.h
The file was modifiedmlir/test/lib/Transforms/TestInlining.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Transforms/MemRefDataFlowOpt.cpp
The file was modifiedmlir/lib/Transforms/ParallelLoopCollapsing.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/test/lib/IR/TestSymbolUses.cpp
The file was modifiedmlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h
The file was modifiedmlir/include/mlir/Conversion/GPUToVulkan/ConvertGPUToVulkanPass.h
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/include/mlir/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.h
The file was modifiedmlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/test/lib/IR/TestSideEffects.cpp
The file was modifiedmlir/include/mlir/Conversion/VectorToLLVM/ConvertVectorToLLVM.h
The file was modifiedmlir/include/mlir/Transforms/ViewOpGraph.h
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
The file was modifiedmlir/include/mlir/Transforms/ViewRegionGraph.h
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
The file was modifiedmlir/lib/Transforms/LoopInvariantCodeMotion.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestParallelismDetection.cpp
The file was modifiedmlir/lib/Transforms/StripDebugInfo.cpp
The file was modifiedmlir/lib/Transforms/SymbolDCE.cpp
The file was modifiedmlir/include/mlir/Conversion/LinalgToLLVM/LinalgToLLVM.h
The file was modifiedmlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/Passes.h
The file was modifiedmlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/Passes.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
The file was modifiedmlir/test/lib/Pass/TestPassManager.cpp
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was modifiedmlir/include/mlir/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.h
The file was modifiedmlir/lib/Transforms/PipelineDataTransfer.cpp
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertKernelFuncToCubin.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToROCDL/GPUToROCDLPass.h
The file was modifiedmlir/lib/Pass/PassDetail.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
The file was modifiedmlir/include/mlir/Dialect/Quant/Passes.h
The file was modifiedmlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
The file was modifiedmlir/lib/Transforms/Inliner.cpp
The file was modifiedmlir/test/lib/Dialect/SPIRV/TestAvailability.cpp
The file was modifiedmlir/lib/Transforms/LocationSnapshot.cpp
The file was modifiedmlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
The file was modifiedmlir/test/lib/Transforms/TestMemRefBoundCheck.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/test/lib/Transforms/TestConstantFold.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
Commit 1834ad4a69701d338da1c5e2272e5523e0bbcb49 by riddleriver
[mlir][Pass] Update the PassGen to generate base classes instead of utilities

Summary:
This is much cleaner, and fits the same structure as many other tablegen backends. This was not done originally as the CRTP in the pass classes made it overly verbose/complex.

Differential Revision: https://reviews.llvm.org/D77367
The file was modifiedmlir/lib/Conversion/AVX512ToLLVM/ConvertAVX512ToLLVM.cpp
The file was addedmlir/lib/Dialect/LLVMIR/Transforms/PassDetail.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/Passes.td
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was addedmlir/lib/Dialect/Affine/Transforms/PassDetail.h
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPUPass.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
The file was addedmlir/lib/Dialect/LoopOps/Transforms/PassDetail.h
The file was modifiedmlir/include/mlir/Dialect/GPU/Passes.td
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/UpdateVCEPass.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopSpecialization.cpp
The file was modifiedmlir/lib/Transforms/OpStats.cpp
The file was addedmlir/lib/Transforms/PassDetail.h
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/lib/Transforms/SymbolDCE.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
The file was addedmlir/lib/Dialect/GPU/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Quant/Transforms/ConvertSimQuant.cpp
The file was modifiedmlir/lib/Transforms/Inliner.cpp
The file was modifiedmlir/lib/Transforms/MemRefDataFlowOpt.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopTiling.cpp
The file was modifiedmlir/lib/Transforms/Canonicalizer.cpp
The file was modifiedmlir/lib/Transforms/ParallelLoopCollapsing.cpp
The file was addedmlir/lib/Dialect/Quant/Transforms/PassDetail.h
The file was modifiedmlir/include/mlir/Dialect/Affine/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Quant/Passes.td
The file was modifiedmlir/lib/Transforms/ViewRegionGraph.cpp
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
The file was modifiedmlir/tools/mlir-tblgen/PassGen.cpp
The file was modifiedmlir/lib/Conversion/LinalgToSPIRV/LinalgToSPIRVPass.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
The file was addedmlir/lib/Dialect/SPIRV/Transforms/PassDetail.h
The file was modifiedmlir/lib/Transforms/LocationSnapshot.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
The file was addedmlir/lib/Dialect/Linalg/Transforms/PassDetail.h
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/lib/Transforms/CSE.cpp
The file was modifiedmlir/lib/TableGen/Pass.cpp
The file was modifiedmlir/lib/Transforms/LoopCoalescing.cpp
The file was modifiedmlir/include/mlir/Dialect/LoopOps/Passes.td
The file was modifiedmlir/include/mlir/Pass/PassBase.td
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
The file was modifiedmlir/include/mlir/TableGen/Pass.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
The file was addedmlir/lib/Conversion/PassDetail.h
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/lib/Dialect/Quant/Transforms/ConvertConst.cpp
The file was modifiedmlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Transforms/StripDebugInfo.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertLaunchFuncToVulkanCalls.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/DecorateSPIRVCompositeTypeLayoutPass.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
The file was modifiedmlir/lib/Transforms/LoopInvariantCodeMotion.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/Transforms/ParallelLoopFusion.cpp
The file was modifiedmlir/lib/Transforms/PipelineDataTransfer.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/tools/mlir-tblgen/PassDocGen.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/lib/Conversion/GPUToVulkan/ConvertGPULaunchFuncToVulkanLaunchFunc.cpp
Commit 873b79b8675d0c8eca6055ae8a874fe52b033c28 by benny.kra
Don't access reference to a vector after pop_back

This is undefined behavior. Found by asan's detect_container_overflow.
The file was modifiedlldb/source/Target/ThreadPlanStack.cpp
Commit 9e6670b03ceaa5980eccb06e2dd037e6a9584c66 by francisvm
[Driver] Only pass LTO remark arguments if the driver asks for it

Previous fix missed a check to willEmitRemarks, causing remarks to
always be enabled for LTO.
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/test/Driver/darwin-opt-record-ld.c
Commit a092e3833bee3b8f509638177ead89223d9b0153 by Louis Dionne
[libc++] Remove the %{not} substitution

It has never been used, and it actually doesn't really work because it
assumes that the target supports Python. Instead, it's better to just
use `!` since we're running ShTests in system shells anyway.
The file was removedlibcxx/utils/not.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was removedlibcxx/test/libcxx/selftest/not_test.sh.cpp
Commit 5fee925bebe002eb4b44ba4e2d5847ba417a344d by riddleriver
[mlir][Pass] Update the documentation for the declarative pass specification

The pass tablegen backend now generates base classes instead of utilities, so this revision updates the documentation to reflect that.
The file was modifiedmlir/docs/WritingAPass.md
Commit 96e51ed005a960d1c746a0a7774ce255bb497ed5 by Stanislav.Mekhanoshin
[AMDGPU] Implement copyPhysReg for 16 bit subregs

Differential Revision: https://reviews.llvm.org/D74937
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/lo16-hi16-physreg-copy.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit b49eac71ad76cd8ee3771745ff591ee8771eab1b by wmi
Recommit [SampleFDO] Add flag for partial profile.

Fix the error of show-prof-info.test on some platforms without zlib.

The common profile usage is to collect profile from a target and then use the profile to guide the optimized build for the same target. There are some cases that no profile can be collected for a target. In those cases, although no full profile is available, it is possible to have some partial profile collected from other targets to optimize common libraries and utilities. A flag is needed to tell the partial profile from the full profile apart, so compiler can use different strategy for them.

Differential Revision: https://reviews.llvm.org/D77426
The file was modifiedllvm/include/llvm/IR/ProfileSummary.h
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
The file was addedllvm/test/tools/llvm-profdata/show-prof-info.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was modifiedllvm/include/llvm/ProfileData/SampleProfWriter.h
The file was removedllvm/test/tools/llvm-profdata/show-prof-size.test
Commit dbe86786f7f19c3f1338437f4275797e08501efd by a.bataev
[OPENMP]Do not capture global marked as shared in OpenMP region.

No need to capture the global variable marked as shared in the OpenMP
region, the original variable can be used.
The file was modifiedclang/test/OpenMP/parallel_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 82576d6fecfec71725eb900111c000d772002449 by jgorbe
[libunwind] Fix UB in EHHeaderParser::findFDE

When the EHHeaderInfo object filled by decodeEHHdr has fde_count == 0,
findFDE does the following:

- sets low = 0 and len = hdrInfo.fde_count as a preparation to start a
  binary search
- because len is 0, the binary search loop is skipped
- the code still tries to find a table entry at
  hdrInfo.table + low * tableEntrySize, and decode it.

This is wrong when fde_count is 0, and trying to decode a table entry
that isn't there will lead to reading garbage offsets and can cause
segfaults.

Differential Revision: https://reviews.llvm.org/D77679
The file was modifiedlibunwind/src/EHHeaderParser.hpp
Commit ff87813715ec32741ce230dd37c13d0ae6673f9c by danalbert
Don't expose unavailable cstdio functions.

Summary: These aren't available on Android in all configurations.

Reviewers: EricWF, mclow.lists, #libc, ldionne

Reviewed By: EricWF, #libc, ldionne

Subscribers: broadwaylamb, dexonsmith, ldionne, krytarowski, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D76093
The file was addedlibcxx/test/libcxx/depr/depr.c.headers/no_fgetpos_fsetpos.fail.cpp
The file was modifiedlibcxx/test/std/depr/depr.c.headers/stdio_h.pass.cpp
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
The file was modifiedlibcxx/include/cstdio
Commit 75f60c698fdfc0ea46f84b7f92d667d6e7f53f7f by stephen.neuendorffer
[MLIR] Cleanup mlir-tblgen error messages for custom assembly formats.

The messages are somewhat cryptic, since they are not complete sentences,
include lots of ambiguous words, like 'format' which are hard to parse,
and include names from the users code which may, or may not make sense in
the context of the message.  Start to clean this up and provide some
guidance for fixes.

Also, add a test for one of the messages which didn't have a test at all.

Differential Revision: https://reviews.llvm.org/D77449
The file was modifiedmlir/test/mlir-tblgen/op-format-spec.td
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 19fec004e23adbc43b839ddf1be8bc2e22e58aca by stephen.neuendorffer
[MLIR] Add note for file-line numbers in tablegen errors for assembly formats

Error messages for the custom assembly format are difficult to understand
because there are no line numbers.  This happens because the assembly format
is parsed as a standalone line, separate from it's parent file, with no useful
location information.  Fixing this properly probably requires quite a bit
of invasive plumbing through the SourceMgr, similar to how included files
are handled

This proposal is a less invasive short term solution.  When generating an
error message we generate an additional note which at least properly describes
the operation definition the error occured in, if not the actual line number
of the assemblyFormat definition.

A typical message is like:

error: type of operand #0, named 'operand', is not buildable and a buildable type cannot be inferred
  $operand type($result) attr-dict
  ^
/src/llvm-project/mlir/test/mlir-tblgen/op-format-spec.td:296:1: note: in custom assembly format for this operation
def ZCoverageInvalidC : TestFormat_Op<"variable_invalid_c", [{
^
note: suggest adding a type constraint to the operation or adding a 'type($operand)' directive to the custom assembly format
  $operand type($result) attr-dict
  ^

Differential Revision: https://reviews.llvm.org/D77488
The file was modifiedmlir/test/mlir-tblgen/op-format-spec.td
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 50280c18958bc152d77d6e69d14a53b8dbc8b395 by danalbert
Revert "Don't expose unavailable cstdio functions."

Broke builders that emit different diagnostics. e.g.:

error: 'warning' diagnostics seen but not expected:
  Line 13: alias declarations are a C++11 extension
  Line 20: alias declarations are a C++11 extension

This reverts commit ff87813715ec32741ce230dd37c13d0ae6673f9c.
The file was modifiedlibcxx/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
The file was modifiedlibcxx/include/__config
The file was removedlibcxx/test/libcxx/depr/depr.c.headers/no_fgetpos_fsetpos.fail.cpp
The file was modifiedlibcxx/test/std/depr/depr.c.headers/stdio_h.pass.cpp
The file was modifiedlibcxx/include/cstdio
Commit 2f8fb4d1cde803aee60171ce73a7f5a95868ff84 by maskray
[VE] Adapt aa26dd985848364df01d3f8f0f3eaccfd5ee80dc and 2481f26ac3f228cc085d4d68ee72dadc07afa48f
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.h
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.cpp
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.h
Commit d2ef8c1f2ca33457247be26374852573098553c7 by maskray
[ThinLTO] Drop dso_local if a GlobalVariable satisfies isDeclarationForLinker()

dso_local leads to direct access even if the definition is not within this compilation unit (it is
still in the same linkage unit). On ELF, such a relocation (e.g. R_X86_64_PC32) referencing a
STB_GLOBAL STV_DEFAULT object can cause a linker error in a -shared link.

If the linkage is changed to available_externally, the dso_local flag should be dropped, so that no
direct access will be generated.

The current behavior is benign, because -fpic does not assume dso_local
(clang/lib/CodeGen/CodeGenModule.cpp:shouldAssumeDSOLocal).
If we do that for -fno-semantic-interposition (D73865), there will be an
R_X86_64_PC32 linker error without this patch.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D74751
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-full-lto.ll
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-comdat.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
The file was addedllvm/test/ThinLTO/X86/index-const-prop-gvref-pie.ll
The file was modifiedllvm/test/LTO/Resolution/X86/local-def-dllimport.ll
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-dead.ll
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-ldst.ll
The file was modifiedllvm/test/ThinLTO/X86/funcimport_alwaysinline.ll
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/lib/Transforms/IPO/FunctionImport.cpp
The file was modifiedllvm/test/ThinLTO/X86/Inputs/index-const-prop-gvref.ll
The file was modifiedllvm/tools/llvm-link/llvm-link.cpp
The file was modifiedllvm/lib/Transforms/Utils/FunctionImportUtils.cpp
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-gvref.ll
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-linkage.ll
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop-alias.ll
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop2.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/FunctionImport.h
Commit 6011627f5118dd64a0c33694b604c70e766d8c40 by arsenm2
CodeGen: More conversions to use Register
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16RegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16RegisterInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ThumbRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/CodeGen/TargetRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/ThumbRegisterInfo.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.h
The file was modifiedllvm/lib/Target/ARM/Thumb2SizeReduction.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.h
The file was modifiedllvm/include/llvm/CodeGen/TargetRegisterInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Commit 8b7e669e68f9a8e2aa133d0f695a250fc3381e3a by riddleriver
[mlir][AsmFormat] Avoid invalidating the iterator when verifying attributes

Summary: 'it' may get invalidated when recursing into optional groups. This revision refactors the inner loop to avoid the need to compare the iterator after invalidation.

Differential Revision: https://reviews.llvm.org/D77686
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 624654fd647057dd6c1cdf8799a7605b69716a02 by maskray
[VE] Migrate to the getMachineMemOperand overload using llvm::Align

Just delete the deprecated overload because nothing uses it.
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
Commit 1adeeabb79afbe966a45050f07e0bd6f446f8aa6 by daniel_l_sanders
Add MIR-level debugify with only locations support for now

Summary:
Re-used the IR-level debugify for the most part. The MIR-level code then
adds locations to the MachineInstrs afterwards based on the LLVM-IR debug
info.

It's worth mentioning that the resulting locations make little sense as
the range of line numbers used in a Function at the MIR level exceeds that
of the equivelent IR level function. As such, MachineInstrs can appear to
originate from outside the subprogram scope (and from other subprogram
scopes). However, it doesn't seem worth worrying about as the source is
imaginary anyway.

There's a few high level goals this pass works towards:
* We should be able to debugify our .ll/.mir in the lit tests without
  changing the checks and still pass them. I.e. Debug info should not change
  codegen. Combining this with a strip-debug pass should enable this. The
  main issue I ran into without the strip-debug pass was instructions with MMO's and
  checks on both the instruction and the MMO as the debug-location is
  between them. I currently have a simple hack in the MIRPrinter to
  resolve that but the more general solution is a proper strip-debug pass.
* We should be able to test that GlobalISel does not lose debug info. I
  recently found that the legalizer can be unexpectedly lossy in seemingly
  simple cases (e.g. expanding one instr into many). I have a verifier
  (will be posted separately) that can be integrated with passes that use
  the observer interface and will catch location loss (it does not verify
  correctness, just that there's zero lossage). It is a little conservative
  as the line-0 locations that arise from conflicts do not track the
  conflicting locations but it can still catch a fair bit.

Depends on D77439, D77438

Reviewers: aprantl, bogner, vsk

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77446
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was addedllvm/lib/CodeGen/MachineDebugify.cpp
The file was modifiedllvm/lib/Transforms/Utils/Debugify.cpp
The file was addedllvm/test/CodeGen/Generic/MIRDebugify/locations.mir
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was modifiedllvm/include/llvm/Transforms/Utils/Debugify.h
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/CodeGen/CodeGen.cpp
Commit f30ebf437851d3c68fd0eee82afbc0cef7373c00 by ditaliano
[ManualDWARFIndex] Remove dead code, in preparation for moving this function.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
Commit 565b56a72cff067456e186c3fe7bca9a49c61cd7 by efriedma
[NFC] Clean up uses of LoadInst constructor.
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/examples/BrainF/BrainF.cpp
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Commit 6fa0d0ae11a2a7009f4ac123a5ed6a283849869c by llvmgnsyncbot
[gn build] Port 1adeeabb79a
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit 0b43db5202eef38d736e22042f7b5038454f44fd by danalbert
Reset more globalMemCounters.

Reviewers: EricWF, #libc

Reviewed By: EricWF, #libc

Subscribers: broadwaylamb, libcxx-commits

Tags: #libc

Differential Revision: https://reviews.llvm.org/D77681
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
The file was modifiedlibcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp
Commit 8fb7cfcea97af440830d256cc18ccd978f218e1d by vsapsai
Revert "[ObjC generics] Fix not inheriting type bounds in categories/extensions."

This reverts commit a8c8b627f23f204fb621bd2a8c495cfc8bc16ae7. It causes
intermittent

    Clang :: SemaObjC/parameterized_classes_subst.m

test failures on various bots.
The file was modifiedclang/test/SemaObjC/parameterized_classes_collection_literal.m
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
The file was modifiedclang/test/SemaObjC/parameterized_classes_subst.m
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit 2ac96d61c2ff21fca6dd22bf1b9545dbd450e4b9 by julian.lettner
[lit] Improve consistency when printing test results
The file was modifiedllvm/utils/lit/tests/shtest-format.py
The file was modifiedllvm/utils/lit/lit/main.py
Commit 09f345080edbc914e2d864e9ccf50c94d90d35c5 by julian.lettner
[lit] Print slowest test first when timing tests

lit supports `--time-tests` which will report the 20 slowest tests and
print a nice histogram for test times.  This change prints this list and
the histogram rows by decreasing test times.  After all, we are most
interested in the slowest tests.
The file was modifiedllvm/utils/lit/lit/util.py
Commit 91eb442fdef0aacb996442042d2eeed52d71270b by kazu
[JumpThreading] NFC: Simplify ComputeValueKnownInPredecessorsImpl

Summary:
ComputeValueKnownInPredecessorsImpl is the main folding mechanism in
JumpThreading.cpp.  To avoid potential infinite recursion while
chasing use-def chains, it uses:

  DenseSet<std::pair<Value *, BasicBlock *>> &RecursionSet

to keep track of Value-BB pairs that we've processed.

Now, when ComputeValueKnownInPredecessorsImpl recursively calls
itself, it always passes BB as is, so the second element is always BB.

This patch simplifes the function by dropping "BasicBlock *" from
RecursionSet.

Reviewers: wmi, efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77699
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/JumpThreading.h
Commit d86ece13d93870241d838d2873f123aa771b7077 by joker.eph
Keep output file after successful execution of mlir-opt

Invoke `keep()` on the output file of `mlir-opt` in case the invocation of `MlirOptMain` was successful, to make sure the output file is not deleted on exit from `mlir-opt`.
Fixes a similar problem in `standalone-opt` from the example for an out-of-tree, standalone MLIR dialect.

This revision also adds a missing parameter to the invocation of `MlirOptMain` in `standalone-opt`.

Differential Revision: https://reviews.llvm.org/D77643
The file was modifiedmlir/examples/standalone/standalone-opt/standalone-opt.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was addedmlir/test/mlir-opt/outputfile.mlir
Commit 530377018f624eadb8c07650511bbb9ca63608de by johannes
[OpenMP] "UnFix" last layering problem with FrontendOpenMP

It seems one target was missed in D77666 which kept some bots red [0].

[0] http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/12079/steps/build%20stage%201/logs/stdio
The file was modifiedclang-tools-extra/clang-tidy/tool/CMakeLists.txt
Commit 3cb1f35df2a560d5a8ce2047b87cba8e3c904170 by ntv
[mlir][Linalg] Use subview instead of linalg.slice in Promotion.cpp

This revision removes the reliance of Promotion on `linalg.slice` which is meant
for the rank-reducing case.

Differential Revision: https://reviews.llvm.org/D77676
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir
Commit 8f0aa3f3a407994314371ee042854a8c79cea462 by johannes
[OpenMP] Try to find an existing base for `omp begin/end declare variant`

If we have a function definition in `omp begin/end declare variant` it
is a specialization of a base function with the same name and
"compatible" type. Before, we just created a declaration for the base.
With this patch we try to find an existing declaration first and only
create a new one if we did not find any with a compatible type. This is
preferable as we can tolerate slight mismatches, especially if the
specialized version is "more constrained", e.g., constexpr.

Reviewed By: mikerice

Differential Revision: https://reviews.llvm.org/D77252
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_6.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_7.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_8.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_3.c
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_namespace_1.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_5.c
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_11.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_addr_1.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_12.c
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_2.c
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_10.c
Commit a19eb1de726c1ccbf60dca6a1fbcd49b3157282f by johannes
[OpenMP] Add match_{all,any,none} declare variant selector extensions.

By default, all traits in the OpenMP context selector have to match for
it to be acceptable. Though, we sometimes want a single property out of
multiple to match (=any) or no match at all (=none). We offer these
choices as extensions via
  `implementation={extension(match_{all,any,none})}`
to the user. The choice will affect the entire context selector not only
the traits following the match property.

The first user will be D75788. There we can replace
```
  #pragma omp begin declare variant match(device={arch(nvptx64)})
  #define __CUDA__

  #include <__clang_cuda_cmath.h>

  // TODO: Hack until we support an extension to the match clause that allows "or".
  #undef __CLANG_CUDA_CMATH_H__

  #undef __CUDA__
  #pragma omp end declare variant

  #pragma omp begin declare variant match(device={arch(nvptx)})
  #define __CUDA__

  #include <__clang_cuda_cmath.h>

  #undef __CUDA__
  #pragma omp end declare variant
```
with the much simpler
```
  #pragma omp begin declare variant match(device={arch(nvptx, nvptx64)}, implementation={extension(match_any)})
  #define __CUDA__

  #include <__clang_cuda_cmath.h>

  #undef __CUDA__
  #pragma omp end declare variant
```

Reviewed By: mikerice

Differential Revision: https://reviews.llvm.org/D77414
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was addedclang/test/AST/ast-dump-openmp-declare-variant-extensions.c
The file was modifiedllvm/lib/Frontend/OpenMP/OMPContext.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was addedclang/test/AST/ast-dump-openmp-declare-variant-extensions-messages.c
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPContext.h
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
Commit eb5a16efbf59150af31bd4e3d37b8ea5976d780b by johannes
[OpenMP] Specialize OpenMP calls after template instantiation

As with regular calls, we want to specialize a call that went through
template instantiation if it has an applicable OpenMP declare variant.

Reviewed By: erichkeane, mikerice

Differential Revision: https://reviews.llvm.org/D77290
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was addedclang/test/AST/ast-dump-openmp-begin-declare-variant_template_1.cpp
Commit f85ae058f580e9d74c4a8f2f0de168c18da6150f by johannes
[OpenMP] Provide math functions in OpenMP device code via OpenMP variants

For OpenMP target regions to piggy back on the CUDA/AMDGPU/... implementation of math functions,
we include the appropriate definitions inside of an `omp begin/end declare variant match(device={arch(nvptx)})` scope.
This way, the vendor specific math functions will become specialized versions of the system math functions.
When a system math function is called and specialized version is available the selection logic introduced in D75779
instead call the specialized version. In contrast to the code path we used so far, the system header is actually included.
This means functions without specialized versions are available and so are macro definitions.

This should address PR42061, PR42798, and PR42799.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D75788
The file was modifiedclang/lib/Headers/__clang_cuda_device_functions.h
The file was modifiedclang/test/Headers/nvptx_device_math_functions_cxx17.cpp
The file was addedclang/test/Headers/Inputs/include/climits
The file was modifiedclang/test/Headers/nvptx_device_cmath_functions.c
The file was addedclang/test/Headers/nvptx_device_math_sin_cos.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/lib/Headers/openmp_wrappers/time.h
The file was modifiedclang/lib/Headers/openmp_wrappers/math.h
The file was removedclang/lib/Headers/openmp_wrappers/__clang_openmp_math_declares.h
The file was modifiedclang/lib/Headers/openmp_wrappers/cmath
The file was modifiedclang/test/Headers/nvptx_device_cmath_functions_cxx17.cpp
The file was modifiedclang/lib/Headers/__clang_cuda_cmath.h
The file was modifiedclang/test/Headers/nvptx_device_cmath_functions.cpp
The file was addedclang/test/Headers/nvptx_device_math_sin.c
The file was removedclang/lib/Headers/openmp_wrappers/__clang_openmp_math.h
The file was addedclang/test/Headers/nvptx_device_math_modf.cpp
The file was addedclang/test/Headers/nvptx_device_math_complex.c
The file was modifiedclang/lib/Headers/CMakeLists.txt
The file was addedclang/test/Headers/nvptx_device_math_macro.cpp
The file was modifiedclang/test/Headers/Inputs/include/math.h
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was addedclang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
The file was addedclang/test/Headers/nvptx_device_math_sin.cpp
The file was addedclang/test/Headers/nvptx_device_math_sincos.cpp
The file was modifiedclang/lib/Headers/__clang_cuda_math_forward_declares.h
The file was modifiedclang/test/Headers/Inputs/include/stdlib.h
The file was modifiedclang/test/Headers/nvptx_device_math_functions.c
The file was modifiedclang/test/Headers/Inputs/include/cstdlib
The file was modifiedclang/test/Headers/nvptx_device_math_functions.cpp
The file was modifiedclang/test/Headers/Inputs/include/cmath
Commit f96810ff346d99b63a9c50b65e23b393173d37ce by Stanislav.Mekhanoshin
[AMDGPU] Expand vector trunc stores from i16 to i8

Differential Revision: https://reviews.llvm.org/D77693
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/trunc-store-vec-i16-to-i8.ll
Commit b21bfcca4af645ea25d30972da6b1949a6957aec by llvmgnsyncbot
[gn build] Port f85ae058f58
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit 414745026ca78a3f4f773d61aaababe6a0971af1 by julian.lettner
[lit] Improve test summary output

This change aligns the test summary output along the longest
category label.  We also properly align test counts.

Before:
```
Testing Time: 10.30s
  Unsupported Tests  : 1
  Expected Passes    : 30
```

After:
```
Testing Time: 10.29s
  Unsupported Tests:  1
  Expected Passes  : 30
```
The file was modifiedllvm/utils/lit/tests/lit-opts.py
The file was modifiedllvm/utils/lit/tests/parallelism-groups.py
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/tests/allow-retries.py
The file was modifiedllvm/utils/lit/tests/shtest-inject.py
Commit 0bc2eab6f5cd522eb83b2b862ce8a2651c97ee59 by julian.lettner
[lit] Print slowest tests and time histogram before result groups
The file was modifiedllvm/utils/lit/lit/util.py
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/lit/cl_arguments.py
Commit af11c556dbcee06b4511a6c5761f4cbd543d0047 by ikudrin
[DebugInfo] Fix reading DWARFv5 type units in DWP.

In DWARFv5, type units are stored in .debug_info sections, along with
compilation units, and they are distinguished by the unit_type field
in the header, not by the name of the section. It is impossible to
associate the correct index section of a DWP file with the unit before
the unit's header is read. This patch fixes reading DWARFv5 type units
by parsing the header first and then applying the index entry according
to the actual unit type.

Differential Revision: https://reviews.llvm.org/D77552
The file was addedllvm/test/DebugInfo/X86/dwp-v5-tu.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp
Commit 59dd6250d090e3838a01a9f2f9e1f1e1d17c1c36 by sguelton
Add missing hyphens
The file was modifiedREADME.md
Commit aa034867f1ddadb3de0c6357ce4433d8242de2a6 by simon.moll
[VE] Simplify definitions of uimm6 and simm7

Summary: To prepare continuous changes, simplify uimm6 and simm7 operands.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D77700
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
Commit 130dbf63ff12271be9451e259447c5fab768dce6 by kadircet
[clangd] Fix broken assertion

Summary:
This assertion was bad. It will show up once we start running preamble
thread async. Think about the following case:

- Update 1
    builds a preamble, and an AST. Caches the AST.
- Update 2
    Invalidates the cache, preamble hasn't changed.
- Update 3
    Invalidates the cache, preamble hasn't changed
- Read
    builds AST using preamble v1, and caches it.
    preamble for v2 gets build, cache isn't invalidated since preamble is same.
    generateDiags tries to reuse cached AST but latest version is 3 not 2, so
    assertion fails.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77664
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
Commit 2a6eedbb51fd612d3386b0379938036b17511ae0 by kadircet
[clangd] Destroy context before resetting CurrentReq

Summary:
Our tests stash callbacks into request context and rely on it being
invoked before threads going idle.

Reviewers: sammccall

Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77671
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp