SuccessChanges

Summary

  1. [llvm] Don't create the directory hierarchy in the FileCollector... (details)
  2. [flang][directives] Use TableGen to generate clause unparsing (details)
  3. [DFSan] Support fast16labels mode in dfsan_union. (details)
  4. [ELF] Allow mixed SHF_LINK_ORDER & non-SHF_LINK_ORDER sections and sort within InputSectionDescription (details)
  5. [lldb] Skip the Apple Simulator tests with reproducers (details)
  6. [lldb] Skip TestMultipleDebuggers on Windows (details)
  7. Revert "[BPI] Improve static heuristics for integer comparisons" (details)
  8. [lldb] Skip test_launch_simple with reproducers (details)
Commit 295eb54deb8784e448b73eec5eb1517b27d89541 by Jonas Devlieghere
[llvm] Don't create the directory hierarchy in the FileCollector...

... if the collected file doesn't exists.

This fixes the situation where LLDB can't create a file when capturing a
reproducer because the parent path doesn't exist, but can during replay
because the file collector created the directory hierarchy even though
the file doesn't exist.

This is covered by the lldb reproducer test suite.
The file was modifiedllvm/lib/Support/FileCollector.cpp (diff)
Commit 3060894bbb34937707d7db4d30485ecc98e62497 by clementval
[flang][directives] Use TableGen to generate clause unparsing

Use the TableGen directive back-end to generate code for the clauses unparsing.

Reviewed By: sscalpone, kiranchandramohan

Differential Revision: https://reviews.llvm.org/D85851
The file was modifiedllvm/test/TableGen/directive1.td (diff)
The file was modifiedflang/include/flang/Parser/dump-parse-tree.h (diff)
The file was modifiedflang/lib/Parser/openmp-parsers.cpp (diff)
The file was modifiedflang/include/flang/Parser/parse-tree.h (diff)
The file was modifiedllvm/include/llvm/Frontend/Directive/DirectiveBase.td (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedllvm/test/TableGen/directive2.td (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenACC/ACC.td (diff)
The file was modifiedflang/lib/Parser/unparse.cpp (diff)
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.h (diff)
The file was modifiedllvm/include/llvm/TableGen/DirectiveEmitter.h (diff)
Commit 69721fc9d1b5df9a7a32d2fee6d72c8c7c9bf644 by mascasa
[DFSan] Support fast16labels mode in dfsan_union.

While the instrumentation never calls dfsan_union in fast16labels mode,
the custom wrappers do.  We detect fast16labels mode by checking whether
any labels have been created.  If not, we must be using fast16labels
mode.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D86012
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp (diff)
The file was modifiedcompiler-rt/test/dfsan/custom.cpp (diff)
Commit e8a11c0558af93182ca03c1afcdb857394955767 by maskray
[ELF] Allow mixed SHF_LINK_ORDER & non-SHF_LINK_ORDER sections and sort within InputSectionDescription

LLD currently does not allow non-contiguous SHF_LINK_ORDER components in an
output section. This makes it infeasible to add SHF_LINK_ORDER to an existing
metadata section if backward compatibility with older object files are
concerned.

We did not allow mixed components (like GNU ld) and D77007 relaxed to allow
non-contiguous SHF_LINK_ORDER components. This patch allows arbitrary mix, with
sorting performed within an InputSectionDescription. For example,
`.rodata : {*(.rodata.foo) *(.rodata.bar)}`, has two InputSectionDescription's.
If there is at least one SHF_LINK_ORDER and at least one non-SHF_LINK_ORDER in
.rodata.foo, they are ordered within `*(.rodata.foo)`: we arbitrarily place
SHF_LINK_ORDER components before non-SHF_LINK_ORDER components (like Solaris ld).

`*(.rodata.bar)` is ordered similarly, but the two InputSectionDescription's
don't interact.  It can be argued that this is more reasonable than the previous
behavior where written order was not respected.

It would be nice if the two different semantics (ordering requirement & garbage
collection) were not overloaded on one section flag, however, it is probably
difficult to obtain a generic flag at this point
(https://groups.google.com/forum/#!topic/generic-abi/hgx_m1aXqUo
"SHF_LINK_ORDER's original semantics make upgrade difficult").

(Actually, without the GC semantics, SHF_LINK_ORDER would still have the
sh_link!=0 & sh_link=0 issue. It is just that people find the GC semantics more
useful and tend to use the feature more often.)

GNU ld feature request: https://sourceware.org/bugzilla/show_bug.cgi?id=16833

Differential Revision: https://reviews.llvm.org/D84001
The file was modifiedlld/ELF/Writer.cpp (diff)
The file was modifiedlld/test/ELF/linkorder-mixed.s (diff)
The file was modifiedlld/test/ELF/linkerscript/linkorder.s (diff)
Commit 24d3210e62bfbbc8a80ebdff939d41bae2d5292d by Jonas Devlieghere
[lldb] Skip the Apple Simulator tests with reproducers
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py (diff)
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestIOSSimulator.py (diff)
The file was modifiedlldb/test/API/tools/lldb-server/TestAppleSimulatorOSType.py (diff)
Commit 5a7b61b1831e003384ae1dbc4136c27cd7a5e90c by Jonas Devlieghere
[lldb] Skip TestMultipleDebuggers on Windows
The file was modifiedlldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py (diff)
Commit 0f14b2e6cbb54c84ed3b00b0db521f5ce2d1e3f2 by Dávid Bolvanský
Revert "[BPI] Improve static heuristics for integer comparisons"

This reverts commit 50c743fa713002fe4e0c76d23043e6c1f9e9fe6f. Patch will be split to smaller ones.
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll (diff)
The file was addedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll (diff)
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h (diff)
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/nobt.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll (diff)
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/bmi.ll (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll (diff)
The file was modifiedcompiler-rt/test/profile/Linux/counter_promo_while.c (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll (diff)
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll (diff)
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll (diff)
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll (diff)
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll (diff)
The file was removedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/bt.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll (diff)
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll (diff)
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll (diff)
The file was modifiedcompiler-rt/test/profile/Linux/counter_promo_for.c (diff)
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/selle.ll (diff)
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll (diff)
Commit 9c5e25a696b28b7ab31222b31503150c0847b9c3 by Jonas Devlieghere
[lldb] Skip test_launch_simple with reproducers

The test checks the inferior's output. During replay the binary doesn't
actually run and the output isn't captured by the reproducers.
The file was modifiedlldb/test/API/python_api/target/TestTargetAPI.py (diff)