SuccessChanges

Summary

  1. [test] Split some tests which test both static and pic relocation models (details)
  2. [TargetMachine] Don't imply dso_local on global variable declarations in Reloc::Static model (details)
  3. [ELF] Fix relocation-model.ll (details)
  4. [lldb] Remove unused argument to expectedFailure (details)
  5. [debugserver] Honor the cpu sub type if specified (details)
  6. [builtins][ARM] Check __ARM_FP instead of __VFP_FP__. (details)
  7. [mlir][OpFormatGen] Add support for optional enum attributes (details)
  8. [mlir][IR] Move the storage for results to before the Operation instead of after. (details)
  9. [RISCV] Formatting for easier reading (NFC) (details)
Commit fd32639823e4d74eadbca5b0a9610a87d69b25c8 by i
[test] Split some tests which test both static and pic relocation models

TargetMachine::shouldAssumeDSOLocal currently implies dso_local for
Static. Split some tests so that these `external dso_local global`
will align with the Clang behavior.
The file was addedllvm/test/CodeGen/AArch64/tagged-globals-static.ll
The file was removedllvm/test/CodeGen/AArch64/tagged-globals.ll
The file was modifiedllvm/test/tools/gold/X86/relocation-model-pic.ll
The file was addedllvm/test/CodeGen/AArch64/tagged-globals-pic.ll
Commit 961f31d8ad14c66829991522d73e14b5a96ff6d4 by i
[TargetMachine] Don't imply dso_local on global variable declarations in Reloc::Static model

clang/lib/CodeGen/CodeGenModule sets dso_local on applicable global variables,
we don't need to duplicate the work in TargetMachine:shouldAssumeDSOLocal.
(Actually the long-term goal (started by r324535) is to remove as much
additional implied dso_local in TargetMachine:shouldAssumeDSOLocal as possible.)

By not implying dso_local, we will respect dso_local/dso_preemptable specifiers
set by the frontend. This allows the proposed -fno-direct-access-external-data
option to work with -fno-pic and prevent copy relocations.

This patch should be NFC in terms of the Clang behavior because the case we
don't set dso_local is a case Clang sets dso_local. However, some tests don't
set dso_local on some `external global` and expose some differences. Most tests
have been fixed to be more robust in previous commits.
The file was modifiedllvm/test/CodeGen/X86/emutls.ll
The file was modifiedllvm/test/CodeGen/AArch64/extern-weak.ll
The file was modifiedllvm/test/CodeGen/X86/br-fold.ll
The file was modifiedllvm/test/CodeGen/X86/x86-64-mem.ll
The file was modifiedllvm/test/CodeGen/XCore/threads.ll
The file was modifiedllvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
The file was modifiedllvm/lib/Target/TargetMachine.cpp
The file was modifiedllvm/test/CodeGen/X86/abi-isel.ll
The file was modifiedllvm/test/CodeGen/X86/linux-preemption.ll
The file was modifiedllvm/test/CodeGen/X86/code-model-elf.ll
The file was modifiedllvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll
The file was modifiedllvm/test/CodeGen/AArch64/tiny_model.ll
The file was modifiedllvm/test/CodeGen/X86/x86-store-gv-addr.ll
Commit f2bbbad1413ba88cb091d5aa531d8b1bd6b1393a by i
[ELF] Fix relocation-model.ll
The file was addedlld/test/ELF/lto/relocation-model-pic.ll
The file was removedlld/test/ELF/lto/relocation-model.ll
The file was removedlld/test/ELF/lto/Inputs/relocation-model-pic.ll
The file was addedlld/test/ELF/lto/relocation-model-static.ll
Commit 315fab428d6084b09f82468740df5697ab3bb93b by Jonas Devlieghere
[lldb] Remove unused argument to expectedFailure
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit 0db37576c1dddbec1021b50320ae84a9d838742c by Jonas Devlieghere
[debugserver] Honor the cpu sub type if specified

Use the newly added spawnattr API, posix_spawnattr_setarchpref_np, to
select a slice preferences per cpu and subcpu types, instead of just cpu
with posix_spawnattr_setarchpref_np.

rdar://16094957

Differential revision: https://reviews.llvm.org/D92712
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.h
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/tools/debugserver/source/DNBArch.cpp
The file was modifiedlldb/tools/debugserver/source/DNBArch.h
Commit 24333481cb23389516d47ef08e967ce833ec82a3 by chaosdefinition
[builtins][ARM] Check __ARM_FP instead of __VFP_FP__.

This patch fixes builtins' CMakeLists.txt and their VFP tests to check
the standard macro defined in the ACLE for VFP support. It also enables
the tests to be built and run for single-precision-only targets while
builtins were built with double-precision support.

Differential revision: https://reviews.llvm.org/D92497
The file was modifiedcompiler-rt/test/builtins/Unit/gesf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/ledf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/floatsisfvfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/gtdf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/unordsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/divsf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/ltdf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/lesf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/subdf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/divdf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/floatsidfvfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/truncdfsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/muldf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/gtsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/addsf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/negsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/fixdfsivfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/floatunssisfvfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/fixsfsivfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/unorddf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/gedf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/eqsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/adddf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/floatunssidfvfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/eqdf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/extendsfdf2vfp_test.c
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/test/builtins/Unit/fixunsdfsivfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/ltsf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/fixunssfsivfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/mulsf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/nedf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/negdf2vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/subsf3vfp_test.c
The file was modifiedcompiler-rt/test/builtins/Unit/nesf2vfp_test.c
Commit 7924fb34f33a76fd3c36f5635dd40990ecd79741 by riddleriver
[mlir][OpFormatGen] Add support for optional enum attributes

The check for formatting enum attributes was missing a call to get the base attribute, which is necessary to strip off the top-level OptionalAttr<> wrapper.

Differential Revision: https://reviews.llvm.org/D92713
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 47364f95e810f96fd300ceaa095719f76683e6fa by riddleriver
[mlir][IR] Move the storage for results to before the Operation instead of after.

Trailing objects are really nice for storing additional data inline with the main class, and is something that we heavily take advantage of for Operation(and many other classes). To get the address of the inline data you need to compute the address by doing some pointer arithmetic taking into account any objects stored before the object you want to access. Most classes keep the count of the number of objects, so this is relatively cheap to compute. This is not the case for results though, which have two different types(inline and trailing) that are not necessarily as cheap to compute as the count for other objects. This revision moves the storage for results to before the operation and stores them in reverse order. This allows for getting results to still be very fast given that they are never iterated directly in order, and also greatly improves the speed when accessing the other trailing objects of an operation(operands/regions/blocks/etc).

This reduced compile time when compiling a decently sized mlir module by about ~400ms, or 2.17s -> 1.76s.

Differential Revision: https://reviews.llvm.org/D92687
The file was modifiedmlir/lib/IR/OperationSupport.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/IR/Operation.h
Commit 3c12307c7a0523716de3dae883bc4f126a395d43 by evandro.menezes
[RISCV] Formatting for easier reading (NFC)

Authored-by: Hsiangkai Wang <kai.wang@sifive.com>
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td