This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_bmk_tx1/llvm-master-aarch64-spec2k6-Os_LTO in repository toolchain/ci/llvm-project.
from 8ee1419ab68 [AARCH64][RegisterCoalescer] clang miscompiles zero-extensi [...] adds bb39eb9e7f4 [PowerPC] Fix getMemOperandWithOffsetWidth adds 046f2402025 [Test] More tests where IndVars fails to eliminate a range check adds 69230e75f12 [flang] Convert release notes to markdown adds 3cda6987236 [obj2yaml] Stop parsing the debug_str section when it encou [...] adds 9be61784495 [mlir][Vector] Make VectorToSCF deterministic adds 2168dbf4cc7 getClangStripDependencyFileAdjuster(): Do not remove -M arg [...] adds 38778e1087b Provide anchor for compiler extensions adds 67b37f571cc [mlir] Conv ops vectorization pass adds 239eff502bc [mlir][VectorOps] Redo the scalar loop emission in VectoToS [...] adds 8d9c13f37d2 Revert "[PowerPC] Implement instruction clustering for stores" adds 7aabb6ad776 [ARM][LowOverheadLoops] Remove modifications to the correct [...] adds 83d82d1fb1c [mlir] Fix of broken build on windows caused by using uint adds 2325d6b42f0 [SyntaxTree] Ignore implicit non-leaf `CXXConstructExpr` adds 46f4439dc9b [SyntaxTree] Ignore implicit leaf `CXXConstructExpr` adds 134455a07c1 [SyntaxTree] Ignore implicit `CXXFunctionalCastExpr` wrappi [...] adds f5087d5c724 [SyntaxTree] Fix crash on functions with default arguments. adds 307dc7b2369 [mlir][VectorOps] Clean up outdated comments. NFCI. adds 58970eb7d1d [OpenMP] Fix typo in CodeGenFunction::EmitOMPWorksharingLoo [...] adds 847299d3f00 [mlir] remove BufferAssignmentPlacer from BufferAssignmentO [...] adds 25c3fa3f133 [DWARFYAML] Make the debug_ranges section optional. adds 0729ae367af X86DomainReassignment.cpp - improve auto const/pointer/refe [...] adds fcff2c32c0f X86CallLowering.cpp - improve auto const/pointer/reference [...] adds ae85da86ad8 [Codegen][X86] Begin moving X86 specific codegen tests into [...] adds df63eedef64 [mlir][VectorOps] adds 4e9f4d0b9d1 [mlir] Fix bug in copy removal adds 86bd8f82cc7 [CMake] Remove dead FindPythonInterp code adds e6740514183 [analyzer] [NFC] Introduce refactoring of PthreadLockChecker adds 4964d75d707 [InstCombine] add bitwise logic fold tests for D86395; NFC adds 156b127945a Add a new altera check for structure packing and alignment. adds 9c9974c3ccb [clang] Limit the maximum level of fold-expr expansion. adds 51d30c3429f [mlir][VectorOps] Fix more GCC5 weirdness adds 94cfbef0a74 [NFC][ARM] Precommit test adds c7b7c32f4a2 [DSE,MemorySSA] Increase walker limit a bit. adds e09e1d97c11 [gn build] (manually) port 156b127945a8 adds 9933188c906 StructPackAlignCheck: Fix a -Winconsistent-missing-override [...] adds 2d9d270e779 Revert 3e782bf809 "[Sema][MSVC] warn at dynamic_cast when / [...] adds 32ae37b038b [clang-tidy] Fix dynamic build failures after 156b127945a8c [...] adds 6dc3e22b575 [DAGTypeLegalizer] Handle ZERO_EXTEND of promoted type in W [...] adds 6454140ab34 [libc++] Make sure we always print all available features adds c2f6a001288 [libc++] Allow overriding the cached value of LIBCXX_TEST_CONFIG adds c81dd3d159a [clang-format] Handle shifts within conditions adds 487a8053100 [AMDGPU] Support disassembly for AMDGPU kernel descriptors adds 71133e8b5bc [clang-tidy] Fix linking for FrontendOpenMP adds e2394245eb2 Add an option for unrolling loops up to a factor. adds 3c83b967cf2 LiveRegUnits.h - reduce MachineRegisterInfo.h include. NFC. adds d25c17f3175 [WebAssembly] Fix fixEndsAtEndOfFunction for try-catch adds 1242dd330d9 GlobalISel: Combine `op undef, x` to 0 adds 514df1b2bb1 [ARM] Follow AACPS standard for volatile bit-fields access width adds d0ccfcb040c [GVN] Add testcase that uses masked loads and stores, NFC adds 97e77ac0ed8 Add more explicit error message when creating a type or att [...] adds 2d7fd38cf7d [sanitizers] Remove unneeded MaybeCall*DefaultOptions() and [...] adds 0dacf3b5ac3 RISCVMatInt.h - remove unnecessary includes. NFCI. adds cd5c5c48483 CFGUpdate.h - remove unused APInt include. NFCI. adds d6f3f612318 Revert "[ARM] Follow AACPS standard for volatile bit-fields [...] adds 1f870bd9284 Add detailed reference for the SearchableTables backend. adds e6bb4c8e7b3 [X86] SSE4_A should only imply SSE3 not SSSE3 in the frontend. adds 59a467ee4fa [Coroutine] Make dealing with alloca spills more robust adds e97f3b1b432 [InstCombine] Fold abs of known negative operand adds 6eef387ddd8 [InstCombine] Test comparison of abs with int min (NFC) adds f6b87da0c73 [InstCombine] Fold comparison of abs with int min adds d95ef009bd5 Update clang/test/Driver/darwin-infer-simulator-sdkroot.c adds ce49b7d9ca0 [llvm-install-name-tool] Add a test with multiple input files adds 863aa0a37bd [LLD][ELF] Fix performance of MarkLive::scanEhFrameSection adds 17dce2fe43c [UnifyFunctionExitNodes] Remove unused getters, NFC adds 5b2b4f331d7 Retry of D84974 adds 8927c900697 [InstCombine] Add tests for known bits for min/max intrinsi [...] adds 8453fbf0889 [ValueTracking] Compute known bits of min/max intrinsics adds 66310aafa0d fix typos; improve a couple of descriptions; add release note adds f4ac79a364f Sema: extract a check for `isCFError` (NFC) adds 041da0d828e [HIP] Add gfx1031 and gfx1030 adds 5c463d107d3 Revert "Retry of D84974" adds c05095cd686 [Asan] Don't crash if metadata is not initialized adds 27650a5fed1 [NFC][Asan] Remove Debug code adds d183f472617 [Hexagon] Handle widening of truncation's operand with lega [...] adds 8893d0816cc [MLIR] Change Operation::create() methods to use Value/Type [...] adds 76a2c434f2c Insert missing bracket in docs. adds b1e68f885b5 [SelectionDAGBuilder] Pass fast math flags to getNode calls [...] adds 69da27c7496 llvm-symbolizer: Add optional "start file" to match "start line" adds 88bf133c99c [libunwind] Replace chain-of-ifdefs for dl_iterate_phdr adds 844e94a5026 [SelectionDAGBuilder] Remove Unnecessary FastMathFlags temp [...] adds e7b40c5492e [llvm] [unittest] Allow getting a C string from the TempDir [...] adds efc17c4bc66 [NFC] Fixing a gcc compiler warning. adds be561fad1eb Remove unused variable(s) adds 055d2095898 Handle masked loads and stores in MemoryLocation/Dependence adds 4013bab9c4a [NFC][ThinLTO] EmbedBitcodeSection doesn't need the Config adds 4682f654031 [obj2yaml][test] Test generating and dumping a broken debug [...] adds 889cf9bedff [EarlyCSE] Add testcase for masked loads and stores, NFC adds 88b368a1c47 [PowerPC] Set setMaxAtomicSizeInBitsSupported appropriately [...] adds b9d086693b5 [llvm-cov gcov] Compute unmeasured arc counts by Kirchhoff' [...] adds c2b7b9b642b [Hexagon] Fix order of operands in V6_vdealb4w adds 1bb1eac6b17 [libFuzzer] Add a command-line option for tracing mutation [...] adds 795e4ee9d2d [NFC] Move functon from IndVarSimplify to SCEV adds c58dfbdc818 [flang][msvc] Avoid range-based for over initializer_list. NFC. adds d5d75f61e5f [Attributor] Provide a command line option that limits recu [...] adds 2600c9e2efc [Attributor] Re-enable a run line in noalias.ll adds c0ab901bddd [Attributor] Selectively look at the callee even when there [...] adds cefd2a2c705 [Attributor] Cleanup `IRPosition::getArgNo` usages adds 849146ba93f [Attributor] Associate the callback callee with a call site [...] adds 6a9a0bfc335 [llvm-cov gcov] Simply computation of line counts and exit [...] adds d445b6dfec1 [Attributor] Cleanup `::initialize` of various AAs adds f9ea4501b86 [Attributor][NFC] Improve check lines in depgraph.ll adds 3ebc7552270 [ARM] Try to rematerialize VCTP instructions adds 2a52c3301a5 [Statepoints] Properly handle const base pointer. adds 6a494e117cd [MLIR] Add debug support for ignored patterns adds 4e4a3feecdb [lldb][doc] Mention python3-dev instead of python2.7-dev in [...] adds c0e5e3fbfa5 [Ignore Expressions] Fix performance regression by inlining [...] adds fdc8a1aac29 [gn build] Port c0e5e3fbfa5 adds 133322d2e30 [MLIR][Standard] Update `tensor_from_elements` assembly format adds 5106a8b8f8d [MLIR][Shape] Lower `shape_of` to `dynamic_tensor_from_elements` adds 32c8da41dc0 [lldb] Don't infinite loop in SemaSourceWithPriorities::Com [...] adds 2bcc4db7617 [EarlyCSE] Explicitly require AAResultsWrapperPass. adds 7866b914056 [lldb] Fix a crash when the ASTImporter is giving us two Im [...] adds 37a7c0a0077 [Test] Add failing test for pr47457 adds b85222520f8 [lldb] Enable std::pair in CxxModuleHandler adds feb0b9c3bba [mlir] Added support for loops to BufferPlacement transformation. adds 8427885e278 Temporairly revert "Thread safety analysis: Consider global [...] adds 3a577f54461 Rename MemRefDescriptor::getElementType() to MemRefDescript [...] adds 43af2a6faa2 [AMDGPU] Workaround for LDS Misalignment bug on GFX10 adds 8cb8cea1bd7 [ARM] Fixup of a few test cases. NFC. adds 3a61bfb027a [DomTree] Use SmallVector<DomTreeNodeBase *, 4> instead of [...] adds b5bc56da8aa [NFC][Asan] Fit ChunkHeader into redzone adds 24ecfdac7b7 [APFloat] Fix uninitialized variable in IEEEFloat constructors adds f16b2d83154 ARMTargetParser.cpp - use auto const references in for rang [...] adds 455cce3e216 TrigramIndex.cpp - remove unnecessary includes. NFCI. adds 25ce1e04972 [ValueTracking] Add UndefOrPoison/Poison-only version of re [...] adds 0fd425af071 [flang]Add Semantic Checks for OpenMP Allocate Clause adds 36c8621638d [BuildLibCalls] Add more noundef to library functions adds 48fc7814387 [UnifyFunctionExitNodes] Fix Modified status for unreachabl [...] adds edf244217a4 [mlir][Linalg] Integration tests for convolutions added. adds d4b88ac1658 [cmake] Use absolute paths for modules search adds 25f3cc0ced1 [elf2yaml] Fix dumping a debug section whose name is not re [...] adds 1eaf7babf2d APInt.h - return directly from clearUnusedBits in single wo [...] adds d816499f95d [KnownBits] Move SelectionDAG::computeKnownBits ISD::ABS ha [...] adds f078577f31c Revert "[AMDGPU] Support disassembly for AMDGPU kernel desc [...] adds b29bdab8c76 CommandLine.h - use auto const reference in ValuesClass::ap [...] adds 4358fa782e3 [Statepoints] Update DAG root after emitting statepoint. adds 818cf30b833 [MachinePipeliner] Fix II_setByPragma initialization adds 95b7040e438 [AMDGPU][MC] Improved diagnostic messages for invalid registers
No new revisions were added by this update.
Summary of changes: clang-tools-extra/clang-tidy/CMakeLists.txt | 2 + .../clang-tidy/ClangTidyForceLinker.h | 5 + .../clang-tidy/altera/AlteraTidyModule.cpp | 39 ++ clang-tools-extra/clang-tidy/altera/CMakeLists.txt | 22 + .../clang-tidy/altera/StructPackAlignCheck.cpp | 144 ++++++ .../clang-tidy/altera/StructPackAlignCheck.h | 41 ++ clang-tools-extra/docs/ReleaseNotes.rst | 21 + .../clang-tidy/checks/altera-struct-pack-align.rst | 54 +++ clang-tools-extra/docs/clang-tidy/checks/list.rst | 1 + clang-tools-extra/docs/clang-tidy/index.rst | 1 + .../checkers/altera-struct-pack-align.cpp | 101 ++++ clang/CMakeLists.txt | 37 +- clang/include/clang/AST/IgnoreExpr.h | 118 ++++- clang/include/clang/Basic/DiagnosticGroups.td | 2 - clang/include/clang/Basic/DiagnosticSemaKinds.td | 9 +- clang/include/clang/Sema/Sema.h | 1 + clang/lib/AST/CMakeLists.txt | 1 - clang/lib/AST/IgnoreExpr.cpp | 129 ----- clang/lib/Analysis/ThreadSafety.cpp | 18 +- clang/lib/Analysis/ThreadSafetyCommon.cpp | 2 +- clang/lib/Basic/Cuda.cpp | 2 +- clang/lib/CodeGen/CGStmtOpenMP.cpp | 2 +- clang/lib/Format/TokenAnnotator.cpp | 20 +- clang/lib/Sema/SemaCast.cpp | 12 - clang/lib/Sema/SemaExprCXX.cpp | 6 - clang/lib/Sema/SemaType.cpp | 52 +- clang/lib/Sema/TreeTransform.h | 13 + .../StaticAnalyzer/Checkers/PthreadLockChecker.cpp | 271 +++++------ clang/lib/Tooling/ArgumentsAdjusters.cpp | 34 +- clang/lib/Tooling/Syntax/BuildTree.cpp | 67 ++- clang/test/CodeGen/{ => X86}/x86-64-inline-asm.c | 0 .../{ => X86}/x86-GCC-inline-asm-Y-constraints.c | 0 .../CodeGen/{ => X86}/x86-atomic-long_double.c | 0 clang/test/CodeGen/{ => X86}/x86-bswap.c | 0 .../CodeGen/{ => X86}/x86-builtins-vector-width.c | 0 clang/test/CodeGen/{ => X86}/x86-builtins.c | 0 clang/test/CodeGen/{ => X86}/x86-cf-protection.c | 0 clang/test/CodeGen/{ => X86}/x86-crc-builtins.c | 0 clang/test/CodeGen/{ => X86}/x86-enqcmd-builtins.c | 0 .../{ => X86}/x86-inline-asm-min-vector-width.c | 0 .../{ => X86}/x86-inline-asm-v-constraint.c | 0 clang/test/CodeGen/{ => X86}/x86-long-double.cpp | 0 clang/test/CodeGen/{ => X86}/x86-nontemporal.c | 0 .../test/CodeGen/{ => X86}/x86-serialize-intrin.c | 0 clang/test/CodeGen/{ => X86}/x86-soft-float.c | 0 .../test/CodeGen/{ => X86}/x86-tsxldtrk-builtins.c | 0 clang/test/CodeGen/{ => X86}/x86-vec-i128.c | 0 .../CodeGen/{ => X86}/x86-vec-struct-packing.c | 0 clang/test/CodeGen/{ => X86}/x86-vector-width.c | 0 clang/test/CodeGen/{ => X86}/x86.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-darwin.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-iamcu.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-linux.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-nommx.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-realign.c | 0 .../CodeGen/{ => X86}/x86_32-arguments-win32.c | 0 .../CodeGen/{ => X86}/x86_32-fpcc-struct-return.c | 0 clang/test/CodeGen/{ => X86}/x86_32-inline-asm.c | 0 clang/test/CodeGen/{ => X86}/x86_32-xsave.c | 0 clang/test/CodeGen/{ => X86}/x86_64-PR42672.c | 0 .../CodeGen/{ => X86}/x86_64-arguments-darwin.c | 0 .../test/CodeGen/{ => X86}/x86_64-arguments-nacl.c | 0 .../CodeGen/{ => X86}/x86_64-arguments-win32.c | 0 clang/test/CodeGen/{ => X86}/x86_64-arguments.c | 0 clang/test/CodeGen/{ => X86}/x86_64-atomic-128.c | 0 clang/test/CodeGen/{ => X86}/x86_64-floatvectors.c | 0 .../{ => X86}/x86_64-instrument-functions.c | 0 clang/test/CodeGen/{ => X86}/x86_64-longdouble.c | 0 clang/test/CodeGen/{ => X86}/x86_64-mno-sse.c | 0 clang/test/CodeGen/{ => X86}/x86_64-mno-sse2.c | 0 .../CodeGen/{ => X86}/x86_64-profiling-keep-fp.c | 0 clang/test/CodeGen/{ => X86}/x86_64-xsave.c | 0 .../{ => X86}/x86_inlineasm_curly_bracket_escape.c | 0 clang/test/Driver/darwin-infer-simulator-sdkroot.c | 43 +- clang/test/Driver/hip-offload-arch.hip | 10 + clang/test/Preprocessor/predefined-arch-macros.c | 2 + clang/test/SemaCXX/fold_expr_expansion_limit.cpp | 9 + clang/test/SemaCXX/ms_no_dynamic_cast.cpp | 21 - clang/test/SemaCXX/no-rtti.cpp | 2 +- clang/test/SemaCXX/no_dynamic_cast.cpp | 21 - clang/test/SemaCXX/warn-thread-safety-analysis.cpp | 7 +- clang/test/SemaCXX/warn-thread-safety-negative.cpp | 29 -- clang/unittests/Format/FormatTest.cpp | 15 + clang/unittests/Tooling/Syntax/BuildTreeTest.cpp | 532 +++++++++++++++++++-- clang/unittests/Tooling/ToolingTest.cpp | 34 ++ compiler-rt/CMakeLists.txt | 33 +- compiler-rt/lib/asan/asan_allocator.cpp | 83 +--- compiler-rt/lib/asan/asan_flags.cpp | 10 +- compiler-rt/lib/asan/asan_interface_internal.h | 4 +- compiler-rt/lib/cfi/cfi.cpp | 2 +- compiler-rt/lib/fuzzer/FuzzerDriver.cpp | 2 + compiler-rt/lib/fuzzer/FuzzerFlags.def | 5 + compiler-rt/lib/fuzzer/FuzzerIO.cpp | 13 + compiler-rt/lib/fuzzer/FuzzerIO.h | 3 + compiler-rt/lib/fuzzer/FuzzerLoop.cpp | 33 ++ compiler-rt/lib/fuzzer/FuzzerMutate.cpp | 9 + compiler-rt/lib/fuzzer/FuzzerMutate.h | 2 + compiler-rt/lib/fuzzer/FuzzerOptions.h | 1 + compiler-rt/lib/hwasan/hwasan.cpp | 2 +- compiler-rt/lib/lsan/lsan.cpp | 2 +- compiler-rt/lib/lsan/lsan_common.cpp | 16 +- compiler-rt/lib/msan/msan.cpp | 14 +- compiler-rt/lib/msan/msan_interface_internal.h | 4 +- .../sanitizer_allocator_combined.h | 6 - .../sanitizer_allocator_primary32.h | 1 - .../sanitizer_allocator_primary64.h | 24 - compiler-rt/lib/tsan/rtl/tsan_flags.cpp | 2 +- compiler-rt/lib/ubsan/ubsan_flags.cpp | 6 +- compiler-rt/lib/ubsan/ubsan_flags.h | 2 - compiler-rt/test/asan/TestCases/lsan_crash.cpp | 31 ++ compiler-rt/test/fuzzer/mutation-graph.test | 17 + .../instrprof-gcov-multiple-bbs-single-line.c.gcov | 2 +- flang/CMakeLists.txt | 10 +- flang/docs/ReleaseNotes.md | 87 ++++ flang/docs/ReleaseNotes.rst | 96 ---- flang/include/flang/Common/enum-set.h | 4 +- flang/include/flang/Semantics/symbol.h | 6 +- flang/lib/Semantics/check-omp-structure.cpp | 3 + flang/lib/Semantics/check-omp-structure.h | 1 + flang/lib/Semantics/resolve-directives.cpp | 74 ++- flang/test/Semantics/omp-clause-validity01.f90 | 35 +- flang/test/Semantics/omp-resolve06.f90 | 54 +++ libcxx/CMakeLists.txt | 38 +- libcxx/utils/libcxx/test/config.py | 2 + libunwind/src/AddressSpace.hpp | 59 +-- libunwind/src/config.h | 11 + libunwind/test/frameheadercache_test.pass.cpp | 27 +- lld/CMakeLists.txt | 39 +- lld/ELF/MarkLive.cpp | 6 +- lldb/docs/resources/build.rst | 2 +- .../Plugins/ExpressionParser/Clang/ASTUtils.h | 15 +- .../ExpressionParser/Clang/ClangASTImporter.cpp | 13 +- .../ExpressionParser/Clang/CxxModuleHandler.cpp | 1 + .../{sysroot => forward_decl_from_module}/Makefile | 0 .../TestForwardDeclFromStdModule.py | 39 ++ .../forward_decl_from_module/main.cpp | 8 + .../root/usr/include/c++/v1/module.modulemap | 3 + .../root/usr/include/c++/v1/vector | 14 + .../root/usr/include/libc_header.h | 0 .../import-std-module/{basic => pair}/Makefile | 0 .../pair/TestPairFromStdModule.py | 25 + .../expression/import-std-module/pair/main.cpp | 6 + .../c/record_decl_in_expr/TestRecordDeclInExpr.py | 34 ++ llvm/CMakeLists.txt | 37 +- llvm/docs/ReleaseNotes.rst | 7 +- llvm/docs/TableGen/BackEnds.rst | 381 ++++++++++++++- llvm/docs/TableGen/ProgRef.rst | 35 +- llvm/docs/TransformMetadata.rst | 2 +- llvm/include/llvm/ADT/APFloat.h | 5 +- llvm/include/llvm/ADT/APInt.h | 17 +- llvm/include/llvm/Analysis/ScalarEvolution.h | 5 + llvm/include/llvm/Analysis/ValueTracking.h | 24 +- .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 3 + llvm/include/llvm/CodeGen/LiveRegUnits.h | 2 +- llvm/include/llvm/CodeGen/MachineOutliner.h | 3 +- llvm/include/llvm/CodeGen/SelectionDAG.h | 6 +- llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 69 +-- llvm/include/llvm/CodeGen/StableHashing.h | 2 +- llvm/include/llvm/CodeGen/StackMaps.h | 4 + llvm/include/llvm/DebugInfo/DIContext.h | 18 +- llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h | 1 + llvm/include/llvm/ObjectYAML/DWARFYAML.h | 2 +- llvm/include/llvm/ProfileData/GCOV.h | 10 +- llvm/include/llvm/Support/CFGUpdate.h | 1 - llvm/include/llvm/Support/CommandLine.h | 2 +- llvm/include/llvm/Support/GenericDomTree.h | 9 +- llvm/include/llvm/Support/KnownBits.h | 3 + llvm/include/llvm/Support/TrigramIndex.h | 2 +- llvm/include/llvm/Target/GlobalISel/Combine.td | 7 + llvm/include/llvm/Testing/Support/SupportHelpers.h | 3 + llvm/include/llvm/Transforms/IPO/Attributor.h | 88 +++- .../llvm/Transforms/Utils/UnifyFunctionExitNodes.h | 19 +- llvm/lib/Analysis/InstructionSimplify.cpp | 3 - llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 23 +- llvm/lib/Analysis/MemoryLocation.cpp | 15 + llvm/lib/Analysis/ScalarEvolution.cpp | 27 +- llvm/lib/Analysis/ValueTracking.cpp | 127 ++++- llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 6 + llvm/lib/CodeGen/LiveRegUnits.cpp | 4 - llvm/lib/CodeGen/MachineOutliner.cpp | 2 - llvm/lib/CodeGen/MachinePipeliner.cpp | 1 + llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 6 +- llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 20 +- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 12 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 11 +- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 23 +- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 16 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 153 +++--- .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h | 7 - .../CodeGen/SelectionDAG/StatepointLowering.cpp | 7 +- llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp | 2 +- llvm/lib/CodeGen/StackMaps.cpp | 23 + llvm/lib/DebugInfo/DWARF/DWARFContext.cpp | 20 +- llvm/lib/DebugInfo/DWARF/DWARFDie.cpp | 11 + llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp | 6 +- llvm/lib/Extensions/Extensions.cpp | 15 + llvm/lib/Extensions/LLVMBuild.txt | 2 +- llvm/lib/LTO/LTOBackend.cpp | 4 +- llvm/lib/ObjectYAML/DWARFEmitter.cpp | 2 +- llvm/lib/ObjectYAML/DWARFYAML.cpp | 5 +- llvm/lib/ProfileData/GCOV.cpp | 108 +++-- llvm/lib/Support/APFloat.cpp | 68 +-- llvm/lib/Support/ARMTargetParser.cpp | 20 +- llvm/lib/Support/KnownBits.cpp | 18 + llvm/lib/Support/TrigramIndex.cpp | 5 - llvm/lib/Support/X86TargetParser.cpp | 2 +- llvm/lib/Target/AMDGPU/AMDGPU.td | 3 +- .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 113 ++++- llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 12 +- llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 9 + llvm/lib/Target/ARM/ARMBaseInstrInfo.h | 6 +- llvm/lib/Target/ARM/ARMInstrMVE.td | 1 + llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | 7 +- llvm/lib/Target/Hexagon/HexagonISelLowering.h | 1 + llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp | 68 ++- llvm/lib/Target/Hexagon/HexagonPatternsHVX.td | 2 +- llvm/lib/Target/PowerPC/PPC.td | 11 +- llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 7 +- llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 110 +---- llvm/lib/Target/PowerPC/PPCInstrInfo.h | 13 - llvm/lib/Target/PowerPC/PPCSubtarget.cpp | 1 - llvm/lib/Target/PowerPC/PPCSubtarget.h | 2 - llvm/lib/Target/PowerPC/PPCTargetMachine.cpp | 4 - llvm/lib/Target/RISCV/Utils/RISCVMatInt.cpp | 4 +- llvm/lib/Target/RISCV/Utils/RISCVMatInt.h | 3 +- .../Target/WebAssembly/WebAssemblyCFGStackify.cpp | 72 ++- llvm/lib/Target/X86/X86CallLowering.cpp | 17 +- llvm/lib/Target/X86/X86DomainReassignment.cpp | 10 +- llvm/lib/Target/X86/X86ISelLowering.cpp | 2 +- llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 121 +++-- llvm/lib/Transforms/IPO/Attributor.cpp | 38 +- llvm/lib/Transforms/IPO/AttributorAttributes.cpp | 106 ++-- .../Transforms/InstCombine/InstCombineCalls.cpp | 19 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 5 +- .../Transforms/Instrumentation/PoisonChecking.cpp | 2 +- .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 4 +- llvm/lib/Transforms/Scalar/EarlyCSE.cpp | 2 + llvm/lib/Transforms/Scalar/GVN.cpp | 1 - llvm/lib/Transforms/Scalar/IndVarSimplify.cpp | 34 +- llvm/lib/Transforms/Utils/BuildLibCalls.cpp | 33 ++ .../Transforms/Utils/UnifyFunctionExitNodes.cpp | 85 ++-- .../CodeGen/AArch64/GlobalISel/combine-shl.mir | 29 ++ llvm/test/CodeGen/AArch64/fp-const-fold.ll | 16 - .../AMDGPU/GlobalISel/lds-misaligned-bug.ll | 128 +++++ llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll | 18 +- .../CodeGen/Hexagon/autohvx/isel-truncate-legal.ll | 34 ++ .../swp-pragma-initiation-interval-reset.ii | 85 ++++ llvm/test/CodeGen/PowerPC/atomics-indexed.ll | 140 ++++-- llvm/test/CodeGen/PowerPC/atomics.ll | 437 +++++++++++++++-- llvm/test/CodeGen/PowerPC/fmf-propagation.ll | 4 +- llvm/test/CodeGen/PowerPC/fusion-load-store.ll | 268 ----------- .../CodeGen/PowerPC/pcrel-call-linkage-leaf.ll | 2 +- llvm/test/CodeGen/SystemZ/fp-mul-14.ll | 3 - llvm/test/CodeGen/SystemZ/vec-zext.ll | 16 + .../cond-vector-reduce-mve-codegen.ll | 24 +- .../Thumb2/LowOverheadLoops/mov-after-dlstp.mir | 5 +- .../CodeGen/Thumb2/LowOverheadLoops/mov-operand.ll | 1 - .../CodeGen/Thumb2/LowOverheadLoops/reductions.ll | 53 +- .../CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll | 223 +++++++++ .../tail-pred-intrinsic-sub-sat.ll | 6 +- llvm/test/CodeGen/Thumb2/active_lane_mask.ll | 16 +- llvm/test/CodeGen/Thumb2/mve-vecreduce-fadd.ll | 76 +-- llvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll | 48 ++ llvm/test/CodeGen/X86/fp-undef.ll | 25 - llvm/test/CodeGen/X86/statepoint-vreg.ll | 111 +++++ llvm/test/MC/AMDGPU/expressions.s | 4 +- llvm/test/MC/AMDGPU/flat-scratch.s | 12 +- llvm/test/MC/AMDGPU/literals.s | 88 ++-- llvm/test/MC/AMDGPU/mtbuf.s | 2 +- llvm/test/MC/AMDGPU/out-of-range-registers.s | 80 ++-- llvm/test/MC/AMDGPU/reg-syntax-err.s | 126 ++++- llvm/test/MC/AMDGPU/reg-syntax-extra.s | 24 +- llvm/test/MC/AMDGPU/smem.s | 35 +- llvm/test/MC/AMDGPU/smrd-err.s | 10 +- llvm/test/MC/AMDGPU/smrd.s | 12 +- llvm/test/MC/AMDGPU/sop1-err.s | 17 +- llvm/test/MC/AMDGPU/sop1.s | 6 +- llvm/test/MC/AMDGPU/sop2.s | 6 +- llvm/test/MC/AMDGPU/sopk.s | 47 +- llvm/test/MC/AMDGPU/trap.s | 76 +-- llvm/test/MC/AMDGPU/vop3.s | 6 +- llvm/test/MC/AMDGPU/vop_sdwa.s | 27 +- llvm/test/MC/AMDGPU/xnack-mask.s | 12 +- llvm/test/ObjectYAML/MachO/DWARF-debug_ranges.yaml | 69 +++ llvm/test/ObjectYAML/MachO/DWARF-debug_str.yaml | 58 +++ .../Attributor/ArgumentPromotion/X86/attributes.ll | 2 +- .../X86/min-legal-vector-width.ll | 34 +- .../Attributor/ArgumentPromotion/X86/thiscall.ll | 4 +- .../Transforms/Attributor/ArgumentPromotion/dbg.ll | 4 +- .../Attributor/ArgumentPromotion/profile.ll | 4 +- .../IPConstantProp/multiple_callbacks.ll | 4 +- .../Attributor/IPConstantProp/pthreads.ll | 4 +- llvm/test/Transforms/Attributor/callbacks.ll | 23 +- llvm/test/Transforms/Attributor/chain.ll | 31 ++ llvm/test/Transforms/Attributor/depgraph.ll | 290 +++++++---- .../Transforms/Attributor/dereferenceable-2.ll | 4 +- llvm/test/Transforms/Attributor/heap_to_stack.ll | 6 +- llvm/test/Transforms/Attributor/liveness.ll | 24 +- llvm/test/Transforms/Attributor/misc.ll | 4 +- llvm/test/Transforms/Attributor/noalias.ll | 276 +++++------ llvm/test/Transforms/Attributor/nofree.ll | 4 +- llvm/test/Transforms/Attributor/noundef.ll | 4 +- llvm/test/Transforms/Coroutines/coro-param-copy.ll | 57 ++- llvm/test/Transforms/EarlyCSE/masked-intrinsics.ll | 45 ++ .../EarlyCSE/reuse-preserved-memoryssa.ll | 7 + llvm/test/Transforms/GVN/masked-load-store.ll | 41 ++ .../Transforms/IndVarSimplify/monotonic_checks.ll | 82 +++- .../test/Transforms/InferFunctionAttrs/annotate.ll | 84 ++-- llvm/test/Transforms/InstCombine/abs-intrinsic.ll | 46 +- .../Transforms/InstCombine/minmax-intrinsics.ll | 47 ++ llvm/test/Transforms/InstCombine/xor.ll | 74 +++ llvm/test/Transforms/InstSimplify/abs_intrinsic.ll | 17 +- llvm/test/Transforms/LoopLoadElim/pr47457.ll | 45 ++ .../unreachable-blocks-status.ll | 67 +++ llvm/test/Verifier/get-active-lane-mask.ll | 10 +- llvm/test/tools/llvm-cov/gcov-4.7.c | 22 +- llvm/test/tools/llvm-cov/gcov-8.c | 32 +- llvm/test/tools/llvm-cov/gcov-9.c | 18 +- llvm/test/tools/llvm-dwarfdump/X86/lookup.s | 6 +- .../test/tools/llvm-objcopy/tool-help-message.test | 2 + llvm/test/tools/llvm-symbolizer/sym-verbose.test | 12 + llvm/test/tools/obj2yaml/ELF/DWARF/debug-str.yaml | 24 + .../ELF/DWARF/unrecognized-debug-section.yaml | 19 + .../tools/yaml2obj/ELF/DWARF/debug-ranges.yaml | 14 + llvm/tools/obj2yaml/dwarf2yaml.cpp | 25 +- llvm/tools/obj2yaml/elf2yaml.cpp | 4 +- llvm/tools/obj2yaml/macho2yaml.cpp | 6 +- llvm/tools/obj2yaml/obj2yaml.h | 3 +- llvm/unittests/Analysis/ValueTrackingTest.cpp | 48 +- llvm/unittests/Support/LockFileManagerTest.cpp | 2 +- .../clang-tools-extra/clang-tidy/BUILD.gn | 1 + .../clang-tools-extra/clang-tidy/altera/BUILD.gn | 18 + llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn | 1 - .../StandardToLLVM/ConvertStandardToLLVM.h | 5 +- mlir/include/mlir/Dialect/Affine/Passes.h | 3 +- mlir/include/mlir/Dialect/Affine/Passes.td | 2 + .../mlir/Dialect/Linalg/Transforms/Transforms.h | 51 ++ .../mlir/Dialect/StandardOps/EDSC/Builders.h | 18 +- mlir/include/mlir/Dialect/StandardOps/IR/Ops.td | 18 +- mlir/include/mlir/IR/AttributeSupport.h | 17 + mlir/include/mlir/IR/BlockSupport.h | 41 ++ mlir/include/mlir/IR/Operation.h | 14 +- mlir/include/mlir/IR/OperationSupport.h | 8 +- mlir/include/mlir/IR/TypeSupport.h | 15 + mlir/include/mlir/Support/StorageUniquer.h | 10 + mlir/include/mlir/Transforms/BufferPlacement.h | 52 +- .../Dialect/Linalg/Conv/test-conv-1d-call.mlir | 65 +++ .../Dialect/Linalg/Conv/test-conv-1d-ncw-call.mlir | 71 +++ .../Dialect/Linalg/Conv/test-conv-1d-nwc-call.mlir | 82 ++++ .../Dialect/Linalg/Conv/test-conv-2d-call.mlir | 70 +++ .../Linalg/Conv/test-conv-2d-nchw-call.mlir | 84 ++++ .../Linalg/Conv/test-conv-2d-nhwc-call.mlir | 130 +++++ .../Dialect/Linalg/Conv/test-conv-3d-call.mlir | 87 ++++ .../Linalg/Conv/test-conv-3d-ncdhw-call.mlir | 91 ++++ .../Linalg/Conv/test-conv-3d-ndhwc-call.mlir | 193 ++++++++ .../Dialect/Vector/CPU/test-transfer-to-loops.mlir | 24 + .../Conversion/ShapeToStandard/ShapeToStandard.cpp | 27 +- .../Conversion/StandardToLLVM/StandardToLLVM.cpp | 10 +- .../VectorToLLVM/ConvertVectorToLLVM.cpp | 8 +- mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp | 249 +++++----- mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp | 14 +- .../Dialect/Linalg/Transforms/TensorsToBuffers.cpp | 31 +- .../Dialect/Linalg/Transforms/Vectorization.cpp | 95 ++++ mlir/lib/Dialect/StandardOps/IR/Ops.cpp | 34 +- mlir/lib/IR/Block.cpp | 28 +- mlir/lib/IR/Operation.cpp | 29 +- mlir/lib/IR/OperationSupport.cpp | 2 +- mlir/lib/IR/PatternMatch.cpp | 27 +- mlir/lib/Support/StorageUniquer.cpp | 16 + mlir/lib/Transforms/BufferPlacement.cpp | 253 +++++++--- mlir/lib/Transforms/CopyRemoval.cpp | 37 +- mlir/lib/Transforms/Utils/LoopUtils.cpp | 1 - .../LinalgToVector/linalg-to-vector.mlir | 167 +++++++ .../ShapeToStandard/shape-to-standard.mlir | 19 +- .../Conversion/VectorToSCF/vector-to-loops.mlir | 97 ++-- mlir/test/Dialect/SCF/loop-unroll.mlir | 22 + mlir/test/IR/core-ops.mlir | 12 +- mlir/test/IR/invalid-ops.mlir | 4 +- mlir/test/Transforms/buffer-placement.mlir | 292 +++++++++++ mlir/test/Transforms/canonicalize.mlir | 2 +- mlir/test/Transforms/copy-removal.mlir | 64 +++ mlir/test/lib/Transforms/CMakeLists.txt | 1 + mlir/test/lib/Transforms/TestBufferPlacement.cpp | 31 +- mlir/test/lib/Transforms/TestConvVectorization.cpp | 51 ++ mlir/test/lib/Transforms/TestLoopUnrolling.cpp | 3 + mlir/tools/mlir-opt/mlir-opt.cpp | 2 + 386 files changed, 8886 insertions(+), 3441 deletions(-) create mode 100644 clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp create mode 100644 clang-tools-extra/clang-tidy/altera/CMakeLists.txt create mode 100644 clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp create mode 100644 clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h create mode 100644 clang-tools-extra/docs/clang-tidy/checks/altera-struct-pack-align.rst create mode 100644 clang-tools-extra/test/clang-tidy/checkers/altera-struct-pack-a [...] delete mode 100644 clang/lib/AST/IgnoreExpr.cpp rename clang/test/CodeGen/{ => X86}/x86-64-inline-asm.c (100%) rename clang/test/CodeGen/{ => X86}/x86-GCC-inline-asm-Y-constraints.c (100%) rename clang/test/CodeGen/{ => X86}/x86-atomic-long_double.c (100%) rename clang/test/CodeGen/{ => X86}/x86-bswap.c (100%) rename clang/test/CodeGen/{ => X86}/x86-builtins-vector-width.c (100%) rename clang/test/CodeGen/{ => X86}/x86-builtins.c (100%) rename clang/test/CodeGen/{ => X86}/x86-cf-protection.c (100%) rename clang/test/CodeGen/{ => X86}/x86-crc-builtins.c (100%) rename clang/test/CodeGen/{ => X86}/x86-enqcmd-builtins.c (100%) rename clang/test/CodeGen/{ => X86}/x86-inline-asm-min-vector-width.c (100%) rename clang/test/CodeGen/{ => X86}/x86-inline-asm-v-constraint.c (100%) rename clang/test/CodeGen/{ => X86}/x86-long-double.cpp (100%) rename clang/test/CodeGen/{ => X86}/x86-nontemporal.c (100%) rename clang/test/CodeGen/{ => X86}/x86-serialize-intrin.c (100%) rename clang/test/CodeGen/{ => X86}/x86-soft-float.c (100%) rename clang/test/CodeGen/{ => X86}/x86-tsxldtrk-builtins.c (100%) rename clang/test/CodeGen/{ => X86}/x86-vec-i128.c (100%) rename clang/test/CodeGen/{ => X86}/x86-vec-struct-packing.c (100%) rename clang/test/CodeGen/{ => X86}/x86-vector-width.c (100%) rename clang/test/CodeGen/{ => X86}/x86.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-darwin.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-iamcu.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-linux.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-nommx.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-realign.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-arguments-win32.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-fpcc-struct-return.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-inline-asm.c (100%) rename clang/test/CodeGen/{ => X86}/x86_32-xsave.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-PR42672.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-arguments-darwin.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-arguments-nacl.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-arguments-win32.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-arguments.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-atomic-128.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-floatvectors.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-instrument-functions.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-longdouble.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-mno-sse.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-mno-sse2.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-profiling-keep-fp.c (100%) rename clang/test/CodeGen/{ => X86}/x86_64-xsave.c (100%) rename clang/test/CodeGen/{ => X86}/x86_inlineasm_curly_bracket_escape.c (100%) create mode 100644 clang/test/Driver/hip-offload-arch.hip create mode 100644 clang/test/SemaCXX/fold_expr_expansion_limit.cpp delete mode 100644 clang/test/SemaCXX/ms_no_dynamic_cast.cpp delete mode 100644 clang/test/SemaCXX/no_dynamic_cast.cpp create mode 100644 compiler-rt/test/asan/TestCases/lsan_crash.cpp create mode 100644 compiler-rt/test/fuzzer/mutation-graph.test create mode 100644 flang/docs/ReleaseNotes.md delete mode 100644 flang/docs/ReleaseNotes.rst create mode 100644 flang/test/Semantics/omp-resolve06.f90 copy lldb/test/API/commands/expression/import-std-module/{sysroot => forward_decl_ [...] create mode 100644 lldb/test/API/commands/expression/import-std-module/forward_dec [...] create mode 100644 lldb/test/API/commands/expression/import-std-module/forward_dec [...] create mode 100644 lldb/test/API/commands/expression/import-std-module/forward_dec [...] create mode 100644 lldb/test/API/commands/expression/import-std-module/forward_dec [...] copy lldb/test/API/commands/expression/import-std-module/{empty-module => forward_ [...] copy lldb/test/API/commands/expression/import-std-module/{basic => pair}/Makefile (100%) create mode 100644 lldb/test/API/commands/expression/import-std-module/pair/TestPa [...] create mode 100644 lldb/test/API/commands/expression/import-std-module/pair/main.cpp create mode 100644 lldb/test/API/lang/c/record_decl_in_expr/TestRecordDeclInExpr.py create mode 100644 llvm/test/CodeGen/AArch64/GlobalISel/combine-shl.mir create mode 100644 llvm/test/CodeGen/AMDGPU/GlobalISel/lds-misaligned-bug.ll create mode 100644 llvm/test/CodeGen/Hexagon/autohvx/isel-truncate-legal.ll create mode 100644 llvm/test/CodeGen/Hexagon/swp-pragma-initiation-interval-reset.ii delete mode 100644 llvm/test/CodeGen/PowerPC/fusion-load-store.ll create mode 100644 llvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll create mode 100644 llvm/test/Transforms/Attributor/chain.ll create mode 100644 llvm/test/Transforms/EarlyCSE/masked-intrinsics.ll create mode 100644 llvm/test/Transforms/EarlyCSE/reuse-preserved-memoryssa.ll create mode 100644 llvm/test/Transforms/GVN/masked-load-store.ll create mode 100644 llvm/test/Transforms/InstCombine/minmax-intrinsics.ll create mode 100644 llvm/test/Transforms/LoopLoadElim/pr47457.ll create mode 100644 llvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks- [...] create mode 100644 llvm/test/tools/obj2yaml/ELF/DWARF/unrecognized-debug-section.yaml create mode 100644 llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/altera/BUILD.gn create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-ncw-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-1d-nwc-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-nchw-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-2d-nhwc-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-ncdhw-call.mlir create mode 100644 mlir/integration_test/Dialect/Linalg/Conv/test-conv-3d-ndhwc-call.mlir create mode 100644 mlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir create mode 100644 mlir/test/lib/Transforms/TestConvVectorization.cpp