SuccessChanges

Summary

  1. BPF: support type exist/size and enum exist/value relocations (details)
  2. [FastISel] Don't transform FSUB(-0, X) -> FNEG(X) in FastISel (details)
  3. [MLIR] Change FunctionType::get() and TupleType::get() to use TypeRange (details)
  4. [WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics. (details)
  5. [libFuzzer] Fix endianness issue in ForEachNonZeroByte() (details)
  6. [SanitizerCoverage] Fix types of __stop* and __start* symbols (details)
  7. [libFuzzer] Enable for SystemZ (details)
  8. [lldb/Test] Add missing stdio.h includes (details)
Commit 6d218b4adb093ff2e9764febbbc89f429412006c by yhs
BPF: support type exist/size and enum exist/value relocations

Four new CO-RE relocations are introduced:
  - TYPE_EXISTENCE: whether a typedef/record/enum type exists
  - TYPE_SIZE: the size of a typedef/record/enum type
  - ENUM_VALUE_EXISTENCE: whether an enum value of an enum type exists
  - ENUM_VALUE: the enum value of an enum type

These additional relocations will make CO-RE bpf programs
more adaptive for potential kernel internal data structure
changes.

Differential Revision: https://reviews.llvm.org/D83878
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-enum-value.ll
The file was modifiedllvm/lib/Target/BPF/BPFCORE.h
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-exist.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-2.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-typeinfo-type-size-1.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.h
Commit 0f2b47b6da0be5e5a597a274bd5c2ae18cc406bd by mcinally
[FastISel] Don't transform FSUB(-0, X) -> FNEG(X) in FastISel

This corresponds with the SelectionDAGISel change in D84056.

Also, rename some poorly named tests in CodeGen/X86/fast-isel-fneg.ll with NFC.

Differential Revision: https://reviews.llvm.org/D85149
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fast-isel-fneg.ll
The file was removedllvm/test/CodeGen/X86/fast-isel-fneg-kill.ll
Commit 1d6a724aa1c11a37ff083cf637f91852e96ce11f by jurahul
[MLIR] Change FunctionType::get() and TupleType::get() to use TypeRange

- Moved TypeRange into its own header/cpp file, and add hashing support.
- Change FunctionType::get() and TupleType::get() to use TypeRange

Differential Revision: https://reviews.llvm.org/D85075
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedflang/lib/Lower/RTBuilder.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/lib/IR/TypeDetail.h
The file was modifiedmlir/lib/IR/Types.cpp
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was addedmlir/include/mlir/IR/TypeRange.h
The file was addedmlir/lib/IR/TypeRange.cpp
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/lib/IR/StandardTypes.cpp
The file was modifiedmlir/lib/IR/OperationSupport.cpp
Commit 47f7174ffa71d339c1a65d1dd9a2ac5ff2abc95d by sunfish
[WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics.

This allows people to use `int8_t` instead of `char`, -funsigned-char,
and generally decouples SIMD from the specialness of `char`.

And it makes intrinsics like `__builtin_wasm_add_saturate_s_i8x16`
and `__builtin_wasm_add_saturate_u_i8x16` use signed and unsigned
element types, respectively.

Differential Revision: https://reviews.llvm.org/D85074
The file was modifiedclang/lib/Headers/wasm_simd128.h
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
Commit a4e537d9c47aa378a24636e2d90d208389ad93ab by iii
[libFuzzer] Fix endianness issue in ForEachNonZeroByte()

The usage pattern of Bundle variable assumes the machine is little
endian, which is not the case on SystemZ. Fix by converting Bundle to
little-endian when necessary.
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtil.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.h
Commit 153df1373e5d3e0f16464233a3c17feb8a9eb3e9 by iii
[SanitizerCoverage] Fix types of __stop* and __start* symbols

If a section is supposed to hold elements of type T, then the
corresponding CreateSecStartEnd()'s Ty parameter represents T*.
Forwarding it to GlobalVariable constructor causes the resulting
GlobalVariable's type to be T*, and its SSA value type to be T**, which
is one indirection too many. This issue is mostly masked by pointer
casts, however, the global variable still gets an incorrect alignment,
which causes SystemZ to choose wrong instructions to access the
section.
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/tracing.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
Commit ea9b82da4180550c3ddc5e883c589474af9462b7 by iii
[libFuzzer] Enable for SystemZ

* Add SystemZ to the list of supported architectures.

* XFAIL a few tests.

Coverage reporting is broken, and is not easy to fix (see comment in
coverage.test). Interaction with sanitizers needs to be investigated
more thoroughly, since they appear to reduce coverage in certain cases.
The file was modifiedcompiler-rt/test/fuzzer/swap-cmp.test
The file was modifiedcompiler-rt/test/fuzzer/msan.test
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/test/fuzzer/coverage.test
Commit bb33f925a673f3bb9793d2157c9d3d46d9ad7f25 by Jonas Devlieghere
[lldb/Test] Add missing stdio.h includes

Fixes error: implicit declaration of function 'printf' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
The file was modifiedlldb/test/API/commands/target/basic/a.c
The file was modifiedlldb/test/API/lang/c/global_variables/main.c