FailedChanges

Summary

  1. [MLIR] Add support for empty IVs to affine.parallel (details)
  2. Revert "[scudo] Build scudo_standalone on Android and Fuchsia." (details)
  3. [AArch64][GlobalISel] Legalize non-power-of-2 vector elements for G_STORE. (details)
  4. Emit correct location lists with basic block sections. (details)
  5. [GlobalISel] Don't emit lost debug location remarks when legalizing tail calls (details)
  6. [ORC-RT] Add endianness support to the ORC runtime. (details)
  7. Fix unit test after 324af79dbc6066 (details)
  8. The compiler is crashing when compiling a coroutine intrinsic without (details)
  9. [RS4GC] Introduce intrinsics to get base ptr and offset (details)
  10. [Fuchsia][CMake] Add missing include path. (details)
Commit b5c3f17e70e70692e805c00d906a3a3d6678f093 by frank.laub
[MLIR] Add support for empty IVs to affine.parallel

Allow support for specifying empty IVs in an `affine.parallel`.

For example:

```
affine.parallel () = () to () {
  affine.yield
}
```

Reviewed By: bondhugula, jbruestle

Differential Revision: https://reviews.llvm.org/D102895
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
Commit 2dba40561a28c56b8e96149642ca3cad3b3c4178 by 31459023+hctim
Revert "[scudo] Build scudo_standalone on Android and Fuchsia."

This reverts commit 2fe987e6bacea8884a397041c13a38e8ba97c2d6.

Broke the Android buildbots. Turns out a couple more tweaks are
necessary to turn them back on.
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit 74edfb28053dac26d82d1372123be03db630ef62 by Amara Emerson
[AArch64][GlobalISel] Legalize non-power-of-2 vector elements for G_STORE.

The rules were already there, it just needed re-ordering so the odd case didn't
bail out too early.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Commit caae570978c490a137921b9516162a382831209e by tmsriram
Emit correct location lists with basic block sections.

This patch addresses multiple things:

1) It ensures that const_value is emitted when possible with basic block
sections.
2) It emits location lists such that the labels are always within the
section boundary.
3) It fixes a bug when the parameter is first used in a non-entry block
which is in a different section from the entry block.

Differential Revision: https://reviews.llvm.org/D85085
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-1.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-2.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-5.ll
The file was modifiedllvm/test/DebugInfo/X86/basic-block-sections_1.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-3.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-4.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-split-range.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-const-value-1.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-const-value-2.ll
Commit 324af79dbc606678c4067411aca2a4ff2af831d7 by Jessica Paquette
[GlobalISel] Don't emit lost debug location remarks when legalizing tail calls

There were a bunch of lost debug location remarks that show up when legalizing
tail calls on AArch64.

This would happen because we drop the return in the block where we emit the
tail call. So, we end up dropping the debug location, which makes the
LostDebugLocObserver report a missing debug location.

Although it's *true* that we lose these debug locations, this isn't
a particularly useful remark. We expect to drop these debug locations when
emitting tail calls. Suppressing remarks in this case is preferable, since the
amount of noise could hide actual debug location related bugs.

To do this, I just plumbed the LostDebugLocObserver through the relevant
LegalizerHelper functions. This is the only case I can think of where we need
the LostDebugLocObserver in the LegalizerHelper. So, rather than storing it
in the LegalizerHelper proper and mucking around with the constructors, I
figured it'd be cleanest to take the simplest path for now.

This clears up ~20 noisy lost debug location remarks on CTMark in AArch64 at
-Os.

Differential Revision: https://reviews.llvm.org/D103128
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Legalizer.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/debug-loc-legalize-tail-call.mir
Commit 95ce0def7c983ae8c4c609e1688c55387e104419 by Lang Hames
[ORC-RT] Add endianness support to the ORC runtime.

endian.h is a cut-down version of llvm/Support/SwapByteOrder.h. It will be used
in upcoming serialization utilities for the ORC runtime.
The file was addedcompiler-rt/lib/orc/endian.h
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/unittests/endian_test.cpp
Commit 08d31ff4f45f795afb6648bc00257d60ff2f8204 by Jessica Paquette
Fix unit test after 324af79dbc6066

Needed to add in an extra parameter to calls to `libcall`.
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Commit a4b61c82cf1a45c172af2e0242f5019281de14f8 by zahira.ammarguellat
The compiler is crashing when compiling a coroutine intrinsic without
the use of the option fcoroutines-ts. This is a patch to fix this.

Fix for https://bugs.llvm.org/show_bug.cgi?id=50406
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/lib/Basic/Builtins.cpp
The file was modifiedclang/include/clang/Basic/Builtins.h
The file was addedclang/test/SemaCXX/coroutine-builtins.cpp
Commit 4d26f41f76c4f92023c02ec96ffbd02a6eb2c46d by yrouban
[RS4GC] Introduce intrinsics to get base ptr and offset

There can be a need for some optimizations to get (base, offset)
for any GC pointer. The base can be calculated by generating
needed instructions as it is done by the
RewriteStatepointsForGC::findBasePointer() function. The offset
can be calculated in the same way. Though to not expose the base
calculation and to make the offset calculation as simple as
ptrtoint(derived_ptr) - ptrtoint(base_ptr), which is illegal
outside RS4GC, this patch introduces 2 intrinsics:

@llvm.experimental.gc.get.pointer.base(%derived_ptr)
@llvm.experimental.gc.get.pointer.offset(%derived_ptr)

These intrinsics are inlined by RS4GC along with generation of
statepoint sequences.

With these new intrinsics the GC parseable lowering for atomic
memcpy intrinsics (6ec2c5e402a724ba99bce82a9cac7a3006d660f4)
could be implemented as a separate pass.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D100445
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/intrinsics.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/docs/Statepoints.rst
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit 0ce58c52d50bd2edd09df7c7ef3dd4dc85b05992 by haowei
[Fuchsia][CMake] Add missing include path.

This patch adds include path for missing header files from "sync".
This patch also fixes the build failures caused by scudo.

Differential Revision: https://reviews.llvm.org/D103218
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake