Changes

Summary

  1. [SLP][X86] Improve SLP tests for division/multiplication by +/- pow2 (details)
  2. [libunwind] Use the from-scratch testing configuration by default (details)
  3. [SelectionDAG] Fix getVectorSubVecPointer for scalable subvectors. (details)
  4. [lldb] [Process/Linux] Support arbitrarily-sized FPR writes on ARM (details)
  5. [lldb] [Process/Utility] Fix value_regs/invalidate_regs for ARM (details)
  6. [lldb] [ABI/X86] Support combining xmm* and ymm*h regs into ymm* (details)
  7. [NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM (details)
  8. [NewPM][test] Use -passes syntax in SpeculativeExecution lit tests (details)
  9. [NewPM][test] Use -passes syntax in BoundsChecking lit tests (details)
  10. [NewPM][test] Use -passes syntax in VectorCombine lit tests (details)
  11. [NewPM][test] Only use -passes syntax in Scalarizer lit tests (details)
  12. [libc++] Move LIBCXX-DEBUG-FIXME to params.py (details)
  13. [libFuzzer] Update InputInfo.TimeOfUnit when replacing it in the corpus. (details)
  14. [mlir][Linalg] Add a first vectorization pattern for conv1d in NWCxWCF format. (details)
  15. [DebugInfo][InstrRef] Track a single variable at a time (details)
  16. [mlir] Expand prefixing to OpFormatGen (details)
  17. [x86] make helper for useVPTERNLOG; NFC (details)
  18. [clangd] Only publish preamble after rebuilds (details)
  19. [clangd] Fix use-after-free in HeaderIncluderCache (details)
  20. [RISCV][WebAssembly][TargetLowering] Allow expandCTLZ/expandCTTZ to rely on CTPOP expansion for vectors. (details)
  21. [Sema, StaticAnalyzer] Use StringRef::contains (NFC) (details)
  22. [NewPM][test] Use -passes syntax in Mem2Reg lit tests (details)
  23. [NewPM][test] Strickly use -passes in some more lit tests (details)
  24. [lld-macho] Fix dangling string reference when adding frameworks (details)
Commit a3c05982ac05637a8f40207db83c04a1710033d5 by llvm-dev
[SLP][X86] Improve SLP tests for division/multiplication by +/- pow2

Add PR51436 test as well as some basic multiply tests, and include SSE2 division coverage
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/powof2div.ll
The file was addedllvm/test/Transforms/SLPVectorizer/X86/powof2mul.ll
Commit 5a8ad80b6fa5cbad58b78384f534b78fca863e7f by Louis Dionne
[libunwind] Use the from-scratch testing configuration by default

This commit switches libunwind from using the complicated logic in
libc++'s testing configuration to a from-scratch configuration.
I tried to make sure that all cases that were handled in the old
config were handled by this one too, so hopefully this shouldn't
break anyone. However, if you encounter issues with this change,
please let me know and feel free to revert if I don't reply quickly.

This change was engineered to be easily revertable.

Differential Revision: https://reviews.llvm.org/D112082
The file was modifiedlibunwind/CMakeLists.txt
Commit be6c8dc765c32a79c0c9b0e6720e3b22d226e478 by sander.desmalen
[SelectionDAG] Fix getVectorSubVecPointer for scalable subvectors.

When inserting a scalable subvector into a scalable vector through
the stack, the index to store to needs to be scaled by vscale.
Before this patch, that didn't yet happen, so it would generate the
wrong offset, thus storing a subvector to the incorrect address
and overwriting the wrong lanes.

For some insert:
  nxv8f16 insert_subvector(nxv8f16 %vec, nxv2f16 %subvec, i64 2)

The offset was not scaled by vscale:
  orr     x8, x8, #0x4
  st1h    { z0.h }, p0, [sp]
  st1h    { z1.d }, p1, [x8]
  ld1h    { z0.h }, p0/z, [sp]

And is changed to:
  mov x8, sp
  st1h { z0.h }, p0, [sp]
  st1h { z1.d }, p1, [x8, #1, mul vl]
  ld1h { z0.h }, p0/z, [sp]

Differential Revision: https://reviews.llvm.org/D111633
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-insert-vector.ll
Commit 192331b890e238a8ede4e61e6c5294e7eaa365fd by mgorny
[lldb] [Process/Linux] Support arbitrarily-sized FPR writes on ARM

Support arbitrarily-sized FPR writes on ARM in order to fix writing qN
registers directly.  Currently, writing them works only by accident
due to value_regs splitting them into smaller writes via dN and sN
registers.

Differential Revision: https://reviews.llvm.org/D112131
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
Commit 99277a81f807e6f4c63ececdb6974d6d5f1f3562 by mgorny
[lldb] [Process/Utility] Fix value_regs/invalidate_regs for ARM

Fix incorrect values for value_regs, and incomplete values for
invalidate_regs in RegisterInfos_arm.  The value_regs entry needs
to list only one base (i.e. larger) register that needs to be read
to get the value for this register, while invalidate_regs needs to list
all other registers (including pseudo-register) whose values would
change when this register is written to.

7a8ba4ffbeecb5070926b80bb839a4d80539f1ac fixed a similar problem
for ARM64.

Differential Revision: https://reviews.llvm.org/D112066
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfos_arm.h
Commit f290efc32622cc59566ec7ac13e74a039b6047c2 by mgorny
[lldb] [ABI/X86] Support combining xmm* and ymm*h regs into ymm*

gdbserver does not expose combined ymm* registers but rather XSAVE-style
split xmm* and ymm*h portions.  Extend value_regs to support combining
multiple registers and use it to create user-friendly ymm* registers
that are combined from split xmm* and ymm*h portions.

Differential Revision: https://reviews.llvm.org/D108937
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/ABI/X86/ABIX86.cpp
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
The file was modifiedlldb/include/lldb/lldb-private-types.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/source/Target/DynamicRegisterInfo.cpp
Commit a413663d8fea6700076010b7e4458b03a8bfb8b4 by bjorn.a.pettersson
[NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM
The file was modifiedllvm/test/Transforms/SampleProfile/remarks-hotness.ll
The file was modifiedllvm/test/Transforms/LoopUnswitch/AMDGPU/uniform-unswitch.ll
The file was modifiedllvm/test/Transforms/LICM/no-hoist-prof.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/limit.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modifiedllvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/openmp-opt-module.ll
Commit 57bd67abfcb8799cbee204e5fd92fe60bce3f9bf by bjorn.a.pettersson
[NewPM][test] Use -passes syntax in SpeculativeExecution lit tests

The legacy PM is deprecated, so use the new PM syntax in lit tests
running the speculative-execution pass.
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec-other-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec-casts.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec-compares.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec-calls.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/PR46267.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec.ll
The file was modifiedllvm/test/Transforms/SpeculativeExecution/spec-other.ll
Commit 15f1fb5a302d7b4b1405c0414c661ef3de7ff18d by bjorn.a.pettersson
[NewPM][test] Use -passes syntax in BoundsChecking lit tests

The legacy PM is deprecated, so use the new PM syntax in lit tests
running the bounds-checking pass.
The file was modifiedllvm/test/Instrumentation/BoundsChecking/simple-32.ll
The file was modifiedllvm/test/Instrumentation/BoundsChecking/simple.ll
The file was modifiedllvm/test/Instrumentation/BoundsChecking/opt.ll
The file was modifiedllvm/test/Instrumentation/BoundsChecking/phi.ll
The file was modifiedllvm/test/Instrumentation/BoundsChecking/many-trap.ll
The file was modifiedllvm/test/Instrumentation/BoundsChecking/many-traps-2.ll
Commit 5e4dbd7a2fb095a6c25ec4758b806571c033e88e by bjorn.a.pettersson
[NewPM][test] Use -passes syntax in VectorCombine lit tests

The legacy PM is deprecated, so use the new PM syntax in lit tests
running the vector-combine pass.
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/vscale-bitcast-shuffle.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/scalarize-cmp.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/vscale-bitcast-shuffle-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/Hexagon/load-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/no-sse.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
The file was modifiedllvm/test/Transforms/VectorCombine/load-insert-store.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/no-sse-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-binop.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/extract-cmp-binop.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/scalarize-vector-gep.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/scalarize-cmp-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
The file was modifiedllvm/test/Transforms/VectorCombine/Hexagon/load.ll
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/shuffle.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load-widening.ll
Commit e9320b1a95a69652bba9b3ba66900b1c0e8f6b0a by bjorn.a.pettersson
[NewPM][test] Only use -passes syntax in Scalarizer lit tests

With legacy PM being deprecated it should be enough to verify the
scalarizer pass using the new-PM syntax when invoking opt.
The file was modifiedllvm/test/Transforms/Scalarizer/scatter-order.ll
The file was modifiedllvm/test/Transforms/Scalarizer/global-bug-2.ll
The file was modifiedllvm/test/Transforms/Scalarizer/order-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/Scalarizer/constant-extractelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/dbgloc-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/phi-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/crash-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/Scalarizer/global-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
The file was modifiedllvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
The file was modifiedllvm/test/Transforms/Scalarizer/constant-insertelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/dbginfo.ll
The file was modifiedllvm/test/Transforms/Scalarizer/basic.ll
The file was modifiedllvm/test/Transforms/Scalarizer/vector-gep.ll
The file was modifiedllvm/test/Transforms/Scalarizer/order-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/variable-extractelement.ll
The file was modifiedllvm/test/Transforms/Scalarizer/store-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/intrinsics.ll
The file was modifiedllvm/test/Transforms/Scalarizer/cache-bug.ll
The file was modifiedllvm/test/Transforms/Scalarizer/phi-bug-inseltpoison.ll
The file was modifiedllvm/test/Transforms/Scalarizer/variable-insertelement.ll
Commit cbe3b6b21f6d3e706edd9c825e2bfb6ee324945e by Louis Dionne
[libc++] Move LIBCXX-DEBUG-FIXME to params.py

This temporary FIXME really belongs to the testing config, not to the
specific CMake cache that enables that configuration.

Differential Revision: https://reviews.llvm.org/D112031
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/cmake/caches/Generic-debug-iterators.cmake
Commit 9e7b7303f1d3556756d7c4db8fa02969c8f11c58 by mascasa
[libFuzzer] Update InputInfo.TimeOfUnit when replacing it in the corpus.

Previously, when the fuzzing loop replaced an input in the corpus, it didn't update the execution time of the input. Therefore, some schedulers (e.g. Entropic) would adjust weights based on the incorrect execution time.

This patch updates the execution time of the input when replacing it.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D111479
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerCorpus.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerLoop.cpp
The file was modifiedcompiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp
Commit 6bb7d2474fe4d3a68e2d1efefaa0bc8a244737bb by nicolas.vasilache
[mlir][Linalg] Add a first vectorization pattern for conv1d in NWCxWCF format.

This revision uses the newly refactored StructuredGenerator to create a simple vectorization for conv1d_nwc_wcf.

Note that the pattern is not specific to the op and is technically not even specific to the ConvolutionOpInterface (modulo minor details related to dilations and strides).

The overall design follows the same ideas as the lowering of vector::ContractionOp -> vector::OuterProduct: it seeks to be minimally complex, composable and extensible while avoiding inference analysis. Instead, we metaprogram the maps/indexings we expect and we match against them.

This is just a first stab and still needs to be evaluated for performance.
Other tradeoffs are possible that should be explored.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D111894
The file was addedmlir/test/Dialect/Linalg/vectorize-convolution.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 89950ade216bcabf3cb9acf2cf7218763fd40a92 by jeremy.morse
[DebugInfo][InstrRef] Track a single variable at a time

Here's another performance patch for InstrRefBasedLDV: rather than
processing all variable values in a scope at a time, instead, process one
variable at a time. The benefits are twofold:
* It's easier to reason about one variable at a time in your mind,
* It improves performance, apparently from increased locality.

The downside is that the value-propagation code gets indented one level
further, plus there's some churn in the unit tests.

Differential Revision: https://reviews.llvm.org/D111799
The file was modifiedllvm/unittests/CodeGen/InstrRefLDVTest.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Commit 6a99423390995f874ee4e345157523f4139ccbef by jpienaar
[mlir] Expand prefixing to OpFormatGen

Follow up to also use the prefixed emitters in OpFormatGen (moved
getGetterName(s) and getSetterName(s) to Operator as that is most
convenient usage wise even though it just depends on Dialect). Prefix
accessors in Test dialect and follow up on missed changes in
OpDefinitionsGen.

Differential Revision: https://reviews.llvm.org/D112118
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/lib/Transforms/TestInlining.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 3efd2a0bec0298d804f274fcc10ea14431b61de1 by spatel
[x86] make helper for useVPTERNLOG; NFC

See D112085 for another use case.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c959da9ef344a22e3753e2e62af46a63a33cd80f by kadircet
[clangd] Only publish preamble after rebuilds

Don't invoke parsing callback for preamble if clangd is using a
previously built one.

Differential Revision: https://reviews.llvm.org/D112137
The file was modifiedclang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
Commit 60e19f6752b7f19b022d8bdca0937c59b49811f9 by kadircet
[clangd] Fix use-after-free in HeaderIncluderCache

Includer cache could get into a bad state when a main file went bad and
added back afterwards. This patch adds a check to invalidate to prevent
that.

Differential Revision: https://reviews.llvm.org/D112130
The file was modifiedclang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
The file was modifiedclang-tools-extra/clangd/TUScheduler.cpp
Commit fe1f0de00335a8e59aa6c08d1cdae7cf20e14f87 by craig.topper
[RISCV][WebAssembly][TargetLowering] Allow expandCTLZ/expandCTTZ to rely on CTPOP expansion for vectors.

Our fallback expansion for CTLZ/CTTZ relies on CTPOP. If CTPOP
isn't legal or custom for a vector type we would scalarize the
CTLZ/CTTZ. This is different than CTPOP itself which would use a
vector expansion.

This patch teaches expandCTLZ/CTTZ to rely on the vector CTPOP
expansion instead of scalarizing. To do this I had to add additional
checks to make sure the operations used by CTPOP expansions are all
supported. Some of the operations were already needed for the CTLZ/CTTZ
expansion.

This is a huge improvement to the RISCV which doesn't have a scalar
ctlz or cttz in the base ISA.

For WebAssembly, I've added Custom lowering to keep the scalarizing
behavior. I've also extended the scalarizing to CTPOP.

Differential Revision: https://reviews.llvm.org/D111919
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-unsupported.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
Commit 0abb5d293cf7289780542fd9c5f0d84e5aadbdc8 by kazu
[Sema, StaticAnalyzer] Use StringRef::contains (NFC)
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerContext.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/MemRegion.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
Commit a3ca7dd0ab9947e0fdde6de5c0d6b1952ac8ac94 by bjorn.a.pettersson
[NewPM][test] Use -passes syntax in Mem2Reg lit tests

The legacy PM is deprecated, so use the new PM syntax in lit tests
verifying the mem2reg pass.
The file was modifiedllvm/test/Transforms/Mem2Reg/ignore-lifetime.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/alloca_addrspace.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-vla-1.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/ConvertDebugInfo2.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/undef-order.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/dbg-inline-scope-for-phi.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2005-11-28-Crash.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/dbg-addr-inline-dse.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/pr37632-unreachable-list-of-stores.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-phi.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/atomic.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-phi-2.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2003-06-26-IterativePromote.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/dbg-addr.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/pr24179.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/preserve-nonnull-load-metadata.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/ignore-droppable.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/UndefValuesMerge.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/optnone.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/crash.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2003-04-24-MultipleIdenticalSuccessors.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2002-03-28-UninitializedVal.ll
The file was modifiedllvm/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
Commit 3d152bc49ddc87350eb1c588b083b24858bf6d51 by bjorn.a.pettersson
[NewPM][test] Strickly use -passes in some more lit tests

Removed/replaced RUN lines using legacy PM syntax in favor of using
-passes in lit tests for Float2Int, MetaRenamer, StripDeadPrototypes
and StripSymbols.
The file was modifiedllvm/test/Transforms/Float2Int/toolarge.ll
The file was modifiedllvm/test/Transforms/StripSymbols/strip-cov.ll
The file was modifiedllvm/test/Transforms/StripSymbols/2007-01-15-llvm.used.ll
The file was modifiedllvm/test/Transforms/StripDeadPrototypes/basic.ll
The file was modifiedllvm/test/Transforms/StripSymbols/block-address.ll
The file was modifiedllvm/test/Transforms/StripSymbols/2010-08-25-crash.ll
The file was modifiedllvm/test/Transforms/Float2Int/float2int-optnone.ll
The file was modifiedllvm/test/Transforms/Float2Int/basic.ll
The file was modifiedllvm/test/Transforms/MetaRenamer/metarenamer.ll
The file was modifiedllvm/test/Transforms/MetaRenamer/main.ll
The file was modifiedllvm/test/Transforms/StripSymbols/strip-dead-debug-info.ll
Commit aab0f2264aebe6cb89d5dcb30df664bfc4d8f1c3 by vyng
[lld-macho] Fix dangling string reference when adding frameworks

In Driver.cpp, addFramework used std::string instance to represent the path of a framework, which will be freed after the function returns. However, this string is stored in loadedArchive, which will be used later to compare with path of newly added frameworks. This caused https://bugs.llvm.org/show_bug.cgi?id=52133. A test is included in this commit to reproduce this bug.

Now resolveDylibPath returns a StringRef instance, and it uses StringSaver to save its data, then returns it to functions on the top. This ensures the resolved framework path is still valid after LC_LINKER_OPTION is parsed.

Reviewed By: int3, #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D111706
The file was modifiedlld/MachO/DriverUtils.cpp
The file was modifiedlld/test/MachO/lc-linker-option.ll
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Driver.cpp

Summary

  1. Fixed plistlib API usage (details)
Commit 87eb0317d4e495863e865d701f099a0ec5b634be by kosov.pavel
Fixed plistlib API usage

plistlib API required the file object opened in the binary mode.
Test command: lnt checkformat tests/SharedInputs/sample-a-small.plist
Related to: https://reviews.llvm.org/D109235

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D112136

Huawei Russian Research Institute, Saint-Petersburg
The file was modifiedlnt/formats/PlistFormat.py (diff)