Changes

Summary

  1. [SimplifyCFG] HoistThenElseCodeToIf(): don't hoist if either block has it's address taken (details)
  2. [SimplifyCFG] FoldTwoEntryPHINode(): don't fold if either block has it's address taken (details)
  3. [UpdateTestUtils] Print test filename when complaining about conflicting prefix (details)
  4. [NFC][AArch64][ARM][Thumb][Hexagon] Autogenerate some tests (details)
  5. [InstCombine] avoid infinite loops with select folds of constant expressions (details)
  6. [flang] Implement constant folding for the NOT intrinsic (details)
  7. [libcxx] Implement P0883R2 ("Fixing Atomic Initialization") (details)
  8. [InstCombine] fold ctpop-of-select with 1 or more constant arms (details)
  9. [DSE] Remove stores in the same loop iteration (details)
  10. [lldb] [Process/elf-core] Fix reading NetBSD/i386 core dumps (details)
  11. Fix -Wunused-variable and -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC (details)
  12. [lld-link] Fix -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC (details)
  13. [mlir] Fix -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC (details)
  14. [LoopUnroll] Use smallest exact trip count from any exit (details)
  15. Add a corefile style option to process save-core; skinny corefiles (details)
  16. [TypePromotion] Prune Intrinsic includes. NFC (details)
  17. Try to unbreak the windows CI (details)
  18. [GCOVProfiling][test] Ensure that 'opt' drops any files in a temp directory (details)
  19. [ELF][test] Add missing tests for --no-export-dynamic & --no-warn-backrefs (details)
  20. [ELF] Delete --no-cref which does not exist in GNU ld (details)
  21. [lld-macho] Have inputOrder default to less than INT_MAX (details)
  22. [IVDescriptors] Fix comment that getUnsafeAlgebraInst has been renamed to getExactFPMathInst (details)
  23. [NFC][ScalarEvolution] Clean up ExitLimit constructors. (details)
  24. [lld/mac] Test zerofill sections after __thread_bss (details)
  25. [InstCombine] Use poison constant to represent the result of unreachable instrs (details)
  26. [lld/mac] Make a variable more local; no behavior change (details)
  27. [clang] NFC: adjust indentation of statements with more than one lines (details)
  28. [LoopDeletion] Handle Phis with similar inputs from different blocks (details)
Commit ad87761925c2790aab272138b5bbbde4a93e0383 by lebedev.ri
[SimplifyCFG] HoistThenElseCodeToIf(): don't hoist if either block has it's address taken

This problem is exposed by D104598, after it tail-merges `ret` in
`@test_inline_constraint_S_label`, the verifier would start complaining
`invalid operand for inline asm constraint 'S'`.

Essentially, taking address of a block is mismodelled in IR.
It should probably be an explicit instruction, a first one in block,
that isn't identical to any other instruction of the same type,
so that it can't be hoisted.
The file was modifiedllvm/test/CodeGen/AArch64/inlineasm-S-constraint.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-from-addresstaken-block.ll
Commit c5b7335dc8ebdf6c007363631ae154e97ea4a733 by lebedev.ri
[SimplifyCFG] FoldTwoEntryPHINode(): don't fold if either block has it's address taken

Same as with HoistThenElseCodeToIf() (ad87761925c2790aab272138b5bbbde4a93e0383).
The file was modifiedllvm/test/CodeGen/AArch64/inlineasm-S-constraint.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/hoist-from-addresstaken-block.ll
Commit b1f55c33d435ef8a68735774ea32f0252750ebcd by lebedev.ri
[UpdateTestUtils] Print test filename when complaining about conflicting prefix

Now that FileCheck eagerly complains when prefixes are unused,
the update script does the same, and  is becoming very common
to need to drop some prefixes, yet figuring out the file
it complains about isn't obvious unless it actually tells us.
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was modifiedllvm/utils/update_llc_test_checks.py
The file was modifiedllvm/utils/update_analyze_test_checks.py
The file was modifiedllvm/utils/update_test_checks.py
Commit e497b12a69604b6d691312a30f6b86da4f18f7f8 by lebedev.ri
[NFC][AArch64][ARM][Thumb][Hexagon] Autogenerate some tests

These all (and some others) are being affected by D104597,
but they are manually-written, which rather complicates
checking the effect that change has on them.
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-branch-cond-split.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt3.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/AArch64/optimize-cond-branch.ll
The file was modifiedllvm/test/CodeGen/ARM/load-global2.ll
The file was modifiedllvm/test/CodeGen/ARM/speculation-hardening-sls.ll
The file was modifiedllvm/test/CodeGen/Thumb2/tpsoft.ll
The file was modifiedllvm/test/CodeGen/Hexagon/dont_rotate_pregs_at_O2.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/Thumb2/v8_IT_4.ll
The file was modifiedllvm/test/CodeGen/AArch64/addsub.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt1.ll
The file was modifiedllvm/test/CodeGen/AArch64/logical_shifted_reg.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/ARM/ifcvt-callback.ll
The file was modifiedllvm/test/CodeGen/ARM/smml.ll
The file was modifiedllvm/test/CodeGen/Hexagon/noFalignAfterCallAtO2.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-bcc.ll
Commit 240acb0cff3f7a5b33e29ad7df2081dd9140d630 by spatel
[InstCombine] avoid infinite loops with select folds of constant expressions

This pair of transforms was added recently with:
8591640379ac9175a

And could lead to conflicting folds:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35399
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-and-or.ll
Commit e7f78fb9171768a514611304caf42eb034ec9247 by psteinfeld
[flang] Implement constant folding for the NOT intrinsic

I implemented constant folding for the NOT intrinsic and added some tests.

Differential Revision: https://reviews.llvm.org/D104587
The file was modifiedflang/test/Evaluate/folding01.f90
The file was modifiedflang/lib/Evaluate/fold-integer.cpp
Commit 56aac567acfd696f54163e33d8df02dc2ad3a72e by raul.tambre
[libcxx] Implement P0883R2 ("Fixing Atomic Initialization")

Reviewed By: Quuxplusone

Differential Revision: https://reviews.llvm.org/D103769
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
The file was addedlibcxx/test/std/depr/depr.atomics/depr.atomics.nonmembers/atomic_init.depr_in_cxx20.verify.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.generic/bool.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/docs/Cxx2aStatus.rst
The file was addedlibcxx/test/std/atomics/atomics.types.generic/constexpr_noexcept.compile.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
The file was addedlibcxx/test/libcxx/atomics/atomics.align/align.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.generic/address.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/include/version
The file was addedlibcxx/test/std/atomics/atomics.types.generic/throw.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
The file was modifiedlibcxx/docs/Cxx2aStatusPaperStatus.csv
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
The file was modifiedlibcxx/include/atomic
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
The file was modifiedlibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
The file was removedlibcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp
Commit 4c44b02d87bce42452594096cc0e9245d94596a8 by spatel
[InstCombine] fold ctpop-of-select with 1 or more constant arms

The general pattern is mentioned in:
https://llvm.org/PR50140
...but we need to do a bit more to handle intrinsics with extra operands
like ctlz/cttz.
The file was modifiedllvm/test/Transforms/InstCombine/intrinsic-select.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit a24b02193a305628066486a5eeee331054e06b5b by david.green
[DSE] Remove stores in the same loop iteration

DSE will currently only remove stores in the same block unless they can
be guaranteed to be loop invariant. This expands that to any stores that
are in the same Loop, at the same loop level. This should still account
for where AA/MSSA will not handle aliasing between loops, but allow the
dead stores to be removed where they overlap in the same loop iteration.
It requires adding loop info to DSE, but that looks fairly harmless.

The test case this helps is from code like this, which can come up in
certain matrix operations:
  for(i=..)
    dst[i] = 0;
    for(j=..)
      dst[i] += src[i*n+j];

After LICM, this becomes:
for(i=..)
  dst[i] = 0;
  sum = 0;
  for(j=..)
    sum += src[i*n+j];
  dst[i] = sum;

The first store is dead, and with this patch is now removed.

Differntial Revision: https://reviews.llvm.org/D100464
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/multiblock-loops.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Commit d4c437c4289c0e0fd2684920b7e59b3f3c19b8e5 by mgorny
[lldb] [Process/elf-core] Fix reading NetBSD/i386 core dumps

Add support for extracting basic data from NetBSD/i386 core dumps.
FPU registers are not supported at the moment.

Differential Revision: https://reviews.llvm.org/D101091
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterUtilities.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
The file was modifiedlldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
The file was addedlldb/test/Shell/Register/Core/x86-32-netbsd-gp.test
The file was addedlldb/test/Shell/Register/Core/x86-32-netbsd-addr.test
Commit 521d3732742284598409804487849a9f6636e4cb by i
Fix -Wunused-variable and -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Commit 50225112b56a087f84ceed94a41f96f1d1f893cc by i
[lld-link] Fix -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC
The file was modifiedlld/COFF/Writer.cpp
Commit 558ee5843f9fca0a3349f9ead666d2281b6a1915 by i
[mlir] Fix -Wunused-but-set-variable in -DLLVM_ENABLE_ASSERTIONS=off build. NFC
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 1ae266f4529fe17c11331f11db74428b879f3737 by nikita.ppv
[LoopUnroll] Use smallest exact trip count from any exit

This is a more general alternative/extension to D102635. Rather than
handling the special case of "header exit with non-exiting latch",
this unrolls against the smallest exact trip count from any exit.
The latch exit is no longer treated as priviledged when it comes to
full unrolling.

The motivating case is in full-unroll-one-unpredictable-exit.ll.
Here the header exit is an IV-based exit, while the latch exit is
a data comparison. This kind of loop does not get rotated, because
the latch is already exiting, and loop rotation doesn't try to
distinguish IV-based/analyzable latches.

Differential Revision: https://reviews.llvm.org/D102982
The file was modifiedllvm/test/Transforms/LoopUnroll/full-unroll-one-unpredictable-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop-known-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unloop.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/scevunroll.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/unroll-header-exiting-with-phis-multiple-exiting-blocks.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/multiple-exits.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
Commit 9ea6dd5cfac0b233fbb148c1e2d0f81f816737c8 by Jason Molenda
Add a corefile style option to process save-core; skinny corefiles

Add a new feature to process save-core on Darwin systems -- for
lldb to create a user process corefile with only the dirty (modified
memory) pages included.  All of the binaries that were used in the
corefile are assumed to still exist on the system for the duration
of the use of the corefile.  A new --style option to process save-core
is added, so a full corefile can be requested if portability across
systems, or across time, is needed for this corefile.

debugserver can now identify the dirty pages in a memory region
when queried with qMemoryRegionInfo, and the size of vm pages is
given in qHostInfo.

Create a new "all image infos" LC_NOTE for Mach-O which allows us
to describe all of the binaries that were loaded in the process --
load address, UUID, file path, segment load addresses, and optionally
whether code from the binary was executing on any thread.  The old
"read dyld_all_image_infos and then the in-memory Mach-O load
commands to get segment load addresses" no longer works when we
only have dirty memory.

rdar://69670807
Differential Revision: https://reviews.llvm.org/D88387
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
The file was addedlldb/test/API/macosx/skinny-corefile/present.h
The file was addedlldb/test/API/macosx/skinny-corefile/to-be-removed.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was addedlldb/test/API/macosx/skinny-corefile/present.c
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
The file was modifiedlldb/include/lldb/lldb-enumerations.h
The file was addedlldb/test/API/macosx/skinny-corefile/to-be-removed.c
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was addedlldb/test/API/macosx/skinny-corefile/main.c
The file was modifiedlldb/tools/debugserver/source/DNBDefs.h
The file was modifiedlldb/test/API/tools/lldb-server/TestGdbRemoteHostInfo.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/tools/debugserver/source/RNBRemote.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
The file was modifiedlldb/source/API/SBMemoryRegionInfo.cpp
The file was addedlldb/test/API/macosx/skinny-corefile/Makefile
The file was modifiedlldb/bindings/interface/SBMemoryRegionInfo.i
The file was modifiedlldb/source/API/SBProcess.cpp
The file was modifiedlldb/include/lldb/API/SBMemoryRegionInfo.h
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachVMMemory.cpp
The file was addedlldb/test/API/macosx/skinny-corefile/TestSkinnyCorefile.py
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/docs/lldb-gdb-remote.txt
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was addedlldb/test/API/functionalities/gdb_remote_client/TestMemoryRegionDirtyPages.py
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/include/lldb/Target/MemoryRegionInfo.h
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
Commit 3a8c7060cc3c6c6dc427f27e2870da490d1ec430 by craig.topper
[TypePromotion] Prune Intrinsic includes. NFC

TypePromotion is meant to be a generic pass and doesn't reference
any ARM intrinsics so it shouldn't include IntrinsicsARM.h.
The other Intrinsic related headers appear to be unneeded as well.
The file was modifiedllvm/lib/CodeGen/TypePromotion.cpp
Commit af913881e33c30d34c806efc586360d3bfc3a5ca by Jason Molenda
Try to unbreak the windows CI

MSVC and clang seem to disagree with whether I can do this.
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit ffa252e8ce2465893f2c798b0586695f03a68d18 by gribozavr
[GCOVProfiling][test] Ensure that 'opt' drops any files in a temp directory
The file was modifiedllvm/test/Transforms/GCOVProfiling/noprofile.ll
Commit cd6b1b2b865a2c13b5b77939375afbc29a12cdb6 by i
[ELF][test] Add missing tests for --no-export-dynamic & --no-warn-backrefs
The file was modifiedlld/test/ELF/warn-backrefs.s
The file was modifiedlld/test/ELF/export-symbols.s
Commit 89e66a3ab3b2958285842ed3705b2264c0f67473 by i
[ELF] Delete --no-cref which does not exist in GNU ld

Also delete the single dash form which does not appear to be used.
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/just-symbols-cref.s
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/test/ELF/cref.s
Commit f79e7a5a48181b5d7ff3170f1617e4f7ba8d0fb8 by jezng
[lld-macho] Have inputOrder default to less than INT_MAX

We make it less than INT_MAX in order not to conflict with the ordering
of zerofill sections, which must always be placed at the end of their
segment.

This is the more structural fix for the issue addressed in {D104596}.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D104607
The file was modifiedlld/MachO/OutputSection.h
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/MachO/Driver.cpp
Commit 912b3b03489b159598c751deb9eadfb9b1bd9d78 by jim
[IVDescriptors] Fix comment that getUnsafeAlgebraInst has been renamed to getExactFPMathInst

https://reviews.llvm.org/rG36a489d194750dc888f214240e9dec9122ca1f0e renamed the function call
in the test from getUnsafeAlgebraInst to getExactFPMathInst.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D104441
The file was modifiedllvm/unittests/Analysis/IVDescriptorsTest.cpp
Commit 62ed024c7407c9e5d2494b684e059e89e18bc7f3 by efriedma
[NFC][ScalarEvolution] Clean up ExitLimit constructors.

Make all the constructors forward to one constructor.  Remove redundant
assertions.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit e6cb55d5ceb8e3f623814779ba4fc0c1e003e9fa by thakis
[lld/mac] Test zerofill sections after __thread_bss

Real zerofill sections go after __thread_bss, since zerofill sections
must all be at the end of their segment and __thread_bss must be right
after __thread_data.

Works fine already, but wasn't tested as far as I can tell.

Also tweak comment about zerofill sections a bit.

No behavior change.

Differential Revision: https://reviews.llvm.org/D104609
The file was modifiedlld/MachO/OutputSegment.cpp
The file was modifiedlld/test/MachO/tlv-dylib.s
Commit ce192ced2b901be67444c481ab5ca0d731e6d982 by aqjune
[InstCombine] Use poison constant to represent the result of unreachable instrs

This patch updates InstCombine to use poison constant to represent the resulting value of (either semantically or syntactically) unreachable instrs, or a don't-care value of an unreachable store instruction.

This allows more aggressive folding of unused results, as shown in llvm/test/Transforms/InstCombine/getelementptr.ll .

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D104602
The file was modifiedllvm/test/Transforms/InstCombine/load.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll
The file was modifiedllvm/test/Transforms/InstCombine/builtin-object-size-ptr.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
The file was modifiedllvm/test/Transforms/InstCombine/store.ll
The file was modifiedllvm/test/Transforms/InstCombine/pr44245.ll
The file was modifiedllvm/test/Transforms/InstCombine/atomic.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/GVN/PRE/2017-06-28-pre-load-dbgloc.ll
Commit 3a6a60f6c9c4a682de829635d7b9bb3bb64c2a7d by thakis
[lld/mac] Make a variable more local; no behavior change

The variable used to need the wider scope, but doesn't after the
reland. See LC_LINKER_OPTIONS-related discussion on
https://reviews.llvm.org/D104353 for background.
The file was modifiedlld/MachO/Driver.cpp
Commit 735ad67a4ce8d4a6c10f10d12f4282c796ea7ab7 by pengfei.wang
[clang] NFC: adjust indentation of statements with more than one lines

Hi,

I think it will be more beautiful to adjust indentation of statements with more than one lines.

In function TreeTransform<Derived>::TransformDependentScopeDeclRefExpr
the second line of statement
NestedNameSpecifierLoc QualifierLoc \newline = getDerived().TransformNestedNameSpecifierLoc(E->getQualifierLoc());
is no more indent than the first line

There is a similar case in function TreeTransform<Derived>::TransformUnresolvedMemberExpr

Also I use clang-format to fix above functions

Thanks alot

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D104145
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit bb1dc876ebb8a2eef38d5183d00c2db1437f1c91 by mkazantsev
[LoopDeletion] Handle Phis with similar inputs from different blocks

This patch lifts the requirement to have the only incoming live block
for Phis. There can be multiple live blocks if the same value comes to
phi from all of them.

Differential Revision: https://reviews.llvm.org/D103959
Reviewed By: nikic, lebedev.ri
The file was modifiedllvm/test/Transforms/LoopDeletion/eval_first_iteration.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopDeletion.cpp