SuccessChanges

Summary

  1. [PowerPC] Add fix to partword atomic operations (details)
  2. Add support for DWARF embedded source to llvm-symbolizer. (details)
  3. libsanitizer: Remove cyclades inclusion in sanitizer (details)
  4. [X86][Atom] Fix vector fadd/fcmp/fmul resource/throughputs (details)
  5. [ORC-RT] Add string_view and span utilities for use by the ORC runtime. (details)
  6. [scudo] Disable secondary cache-unmap tests on arm32. (details)
  7. [PGO] Don't reference functions unless value profiling is enabled (details)
  8. [RISCV] Ensure small mask BUILD_VECTORs aren't expanded (details)
  9. [scudo] Add supported architectures. (details)
  10. [FPEnv] EarlyCSE support for constrained intrinsics, default FP environment edition (details)
  11. [gn build] Use .export files (details)
  12. [libcxx][ranges] Implement `ranges::borrowed_range`. (details)
  13. [gn build] attempt to unbreak linux after fc9696130c8 (details)
  14. [gn build] use PEP-8 indents in symbol_exports.py (details)
  15. [gn build] attempt again to unbreak linux after fc9696130c8 (details)
  16. [gn build] try reverting code part of f05fbb7795 (details)
  17. Revert "[Remarks] Add analysis remarks for memset/memcpy/memmove lengths" (details)
  18. [gn build] Port 0af3105b641a (details)
  19. [libc++] Translate the test suite sanitizer support to the DSL (details)
  20. [libomptarget] Improve dlwrap compile time error diagnostic (details)
  21. [SelectionDAG][Mips][PowerPC][RISCV][WebAssembly] Teach computeKnownBits/ComputeNumSignBits about atomics (details)
  22. [lldb] Improve invalid DWARF DW_AT_ranges error reporting (details)
  23. [WebAssembly] Warn on exception spec for Emscripten EH (details)
  24. [mlir][MemRef] NFC - Drop MemRef EDSC usage (details)
  25. [flang] Implement more transformational intrinsic functions in runtime (details)
  26. [flang] Fix broken build of flang with clang (details)
  27. [M68k] Allow user to preserve certain registers (details)
  28. [M68k] Support for inline asm operands w/ simple constraints (details)
  29. [CUDA][HIP] Fix device variables used by host (details)
  30. [flang] Remove unused variable (details)
Commit 45ad207e4585ff18ed11509991bf8512f2466818 by stefanp
[PowerPC] Add fix to partword atomic operations

Partword atomic binaries are not zero extended as they should be.
This patch fixes them to ensure that they are zero extended.

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D102819
The file was modifiedllvm/test/CodeGen/PowerPC/atomics.ll
The file was addedllvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 752385b128e437b2219934aa75a0c8dd65b6be44 by aorlov
Add support for DWARF embedded source to llvm-symbolizer.

This patch adds DWARF embedded source printout to llvm-symbolizer.

Reviewed By: jhenderson, dblaikie

Differential Revision: https://reviews.llvm.org/D102355
The file was modifiedllvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
The file was addedllvm/test/tools/llvm-symbolizer/source.ll
Commit 68d5235cb58f988c71b403334cd9482d663841ab by tamar.christina
libsanitizer: Remove cyclades inclusion in sanitizer

The Linux kernel has removed the interface to cyclades from
the latest kernel headers[1] due to them being orphaned for the
past 13 years.

libsanitizer uses this header when compiling against glibc, but
glibcs itself doesn't seem to have any references to cyclades.

Further more it seems that the driver is broken in the kernel and
the firmware doesn't seem to be available anymore.

As such since this is breaking the build of libsanitizer (and so the
GCC bootstrap[2]) I propose to remove this.

[1] https://lkml.org/lkml/2021/3/2/153
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D102059
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
Commit a26288e8030a44a5696fe170de3fea79800d7bcd by llvm-dev
[X86][Atom] Fix vector fadd/fcmp/fmul resource/throughputs

Match whats documented in the Intel AOM - these are all fadd/fcmp use Port1 and fmul uses Port1, but in many cases BOTH ports are required - this was being incorrectly modelled as EITHER port.

Discovered while investigating the correct fptoui costs to fix the regressions in D101555.

Now that we can use in-order models in llvm-mca, the atom model is a good "worst case scenario" analysis for x86.
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse3.s
The file was modifiedllvm/lib/Target/X86/X86ScheduleAtom.td
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse1.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-sse2.s
Commit d22b27cfde0f65794acc3ff0663e0ad70fb2b7fc by Lang Hames
[ORC-RT] Add string_view and span utilities for use by the ORC runtime.

These are substitutes for std::string_view (and llvm::StringRef) and std::span
(and llvm::ArrayRef) for use by the ORC runtime.
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
The file was addedcompiler-rt/lib/orc/unittests/adt_test.cpp
The file was addedcompiler-rt/lib/orc/adt.h
Commit 577a80bff8bdf9b26c0f4ff6d1807e43da66ec6a by 31459023+hctim
[scudo] Disable secondary cache-unmap tests on arm32.

Looks like secondary pointers don't get unmapped on one of the arm32
bots. In the interests of landing some dependent patches, disable this
test on arm32 so that it can be tested in isolation later.

Reviewed By: cryptoad, vitalybuka

Split from differential patchset (1/2): https://reviews.llvm.org/D102648
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
Commit 8f20ac9595c8b279641dace6f212b8a9673b24e4 by rnk
[PGO] Don't reference functions unless value profiling is enabled

This reduces the size of chrome.dll.pdb built with optimizations,
coverage, and line table info from 4,690,210,816 to 2,181,128,192, which
makes it possible to fit under the 4GB limit.

This change can greatly reduce binary size in coverage builds, which do
not need value profiling. IR PGO builds are unaffected. There is a minor
behavior change for frontend PGO.

PGO and coverage both use InstrProfiling to create profile data with
counters. PGO records the address of each function in the __profd_
global. It is used later to map runtime function pointer values back to
source-level function names. Coverage does not appear to use this
information.

Recording the address of every function with code coverage drastically
increases code size. Consider this program:

  void foo();
  void bar();
  inline void inlineMe(int x) {
    if (x > 0)
      foo();
    else
      bar();
  }
  int getVal();
  int main() { inlineMe(getVal()); }

With code coverage, the InstrProfiling pass runs before inlining, and it
captures the address of inlineMe in the __profd_ global. This greatly
increases code size, because now the compiler can no longer delete
trivial code.

One downside to this approach is that users of frontend PGO must apply
the -mllvm -enable-value-profiling flag globally in TUs that enable PGO.
Otherwise, some inline virtual method addresses may not be recorded and
will not be able to be promoted. My assumption is that this mllvm flag
is not popular, and most frontend PGO users don't enable it.

Differential Revision: https://reviews.llvm.org/D102818
The file was modifiedclang/lib/CodeGen/CodeGenPGO.h
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedcompiler-rt/test/profile/instrprof-value-prof-2.c
The file was modifiedcompiler-rt/test/profile/instrprof-value-prof.c
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
Commit c74ab891fc9ce4436a3360e14becea9c6794837f by fraser
[RISCV] Ensure small mask BUILD_VECTORs aren't expanded

The default expansion for BUILD_VECTORs -- save for going through
shuffles -- is to go through the stack. This method only works when the
type is at least byte-sized, so for v2i1 and v4i1 we would crash.

This patch ensures that small mask-type BUILD_VECTORs are always handled
without crashing. We lower to a SETCC of the equivalent i8 type.

This also exposes some pre-existing issues where the lowering when
optimizing for size results in larger code than without. Those will be
tackled in future patches.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102767
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit f4ccbaf310f15f8eb91d0504395171504638b93f by 31459023+hctim
[scudo] Add supported architectures.

Adds extra supported architectures that were available for vanilla
scudo, in preparation for D102543. Hopefully the dust has settled and
7d0a81ca38e427de9b7fb0961ec643b757028131 is no longer an issue.

Reviewed By: cryptoad, vitalybuka

Differential Revision: https://reviews.llvm.org/D102648
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit f21f1eea05d65dbd6992fdb6b2bf1d5b4f657166 by kevin.neal
[FPEnv] EarlyCSE support for constrained intrinsics, default FP environment edition

EarlyCSE cannot distinguish between floating point instructions and
constrained floating point intrinsics that are marked as running in the
default FP environment. Said intrinsics are supposed to behave exactly the
same as the regular FP instructions. Teach EarlyCSE to handle them in that
case.

Differential Revision: https://reviews.llvm.org/D99962
The file was addedllvm/test/Transforms/EarlyCSE/defaultfp-strictfp.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
Commit fc9696130c8950fd0fbe2d4d571aa12c62f62a7a by thakis
[gn build] Use .export files

Just fixing an old TODO, no dramatic behavior change.

Differential Revision: https://reviews.llvm.org/D102843
The file was modifiedllvm/utils/gn/secondary/llvm/tools/bugpoint-passes/BUILD.gn
The file was addedllvm/utils/gn/build/symbol_exports.gni
The file was addedllvm/utils/gn/build/symbol_exports.py
The file was modifiedllvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/tools/lto/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Hello/BUILD.gn
Commit c40b02608eea5541b9f402f285b78cb0c1f3bb72 by zoecarver
[libcxx][ranges] Implement `ranges::borrowed_range`.

Differential Revision: https://reviews.llvm.org/D102426
The file was modifiedlibcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was modifiedlibcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.range/borrowed_range.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.range/borrowed_range.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
Commit f05fbb7795a4dcc481c66a41a2c7816921bd7ef4 by thakis
[gn build] attempt to unbreak linux after fc9696130c8

Only emit `global:` if there are any exported symbols.

While here, `chmod +x` the symbol_exports.py script.
The file was modifiedllvm/utils/gn/build/symbol_exports.py
Commit f3f592ac89b56c2311f2d444c6e9bcc81560cd44 by thakis
[gn build] use PEP-8 indents in symbol_exports.py
The file was modifiedllvm/utils/gn/build/symbol_exports.py
Commit aa8fe8fe6c7bc571fd7bc9e0630061212ec0dff3 by thakis
[gn build] attempt again to unbreak linux after fc9696130c8
The file was modifiedllvm/utils/gn/build/symbol_exports.py
Commit e1ffcfcee7695b8b96d5d1fad4174b4bd4fd341e by thakis
[gn build] try reverting code part of f05fbb7795

Maybe aa8fe8fe6c7b was all that was needed to fix the build and
we can keep the code with fewer conditionals after all.
The file was modifiedllvm/utils/gn/build/symbol_exports.py
Commit 0af3105b641a8506e29218d9c86d020811a60289 by jonathan_roelofs
Revert "[Remarks] Add analysis remarks for memset/memcpy/memmove lengths"

This reverts commit 4bf69fb52b3c445ddcef5043c6b292efd14330e0.

This broke spec2k6/403.gcc under -global-isel. Details to follow once I've
reduced the problem.
The file was removedllvm/include/llvm/Transforms/Utils/MemoryOpRemark.h
The file was modifiedllvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
The file was removedllvm/lib/Transforms/Utils/MemoryOpRemark.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/Transforms/Util/trivial-auto-var-init-store.ll
The file was modifiedllvm/test/Transforms/Util/trivial-auto-var-init-call.ll
The file was addedllvm/include/llvm/Transforms/Utils/AutoInitRemark.h
The file was addedllvm/lib/Transforms/Utils/AutoInitRemark.cpp
The file was modifiedllvm/lib/Transforms/Scalar/AnnotationRemarks.cpp
The file was removedllvm/test/CodeGen/AArch64/memsize-remarks.ll
Commit efea813445077a4ef42309ef125cb71701e704ee by llvmgnsyncbot
[gn build] Port 0af3105b641a
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/BUILD.gn
Commit 31bcdb66357c019614403bddb4fc629b3b97d217 by Louis Dionne
[libc++] Translate the test suite sanitizer support to the DSL

Differential Revision: https://reviews.llvm.org/D102108
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 68b88ae6701a840f5badb8ec0492602b953e8f8a by jonathanchesterfield
[libomptarget] Improve dlwrap compile time error diagnostic

[libomptarget] Improve dlwrap compile time error diagnostic

The dlwrap interface takes an explict arity, e.g. DLWRAP(cuAlloc, 2);
This probably can't be eliminated as it controls the argument list of an
external symbol, not an inline header function. If the arity given is too
big, the error from clang referring to the line is in the middle of
implementation details.

/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1277:7: error: static_assert failed
      due to requirement '0UL < tuple_size<std::tuple<>>::value' "tuple index is in range"
      static_assert(__i < tuple_size<tuple<>>::value,
      ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1260:7: ...
/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1260:7: ...
/home/amd/llvm-project/openmp/libomptarget/include/dlwrap.h:93:27 ...

/home/amd/llvm-project/openmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp:34:1: note: in
      instantiation of template class 'dlwrap::trait<cudaError_enum (*)(unsigned long *, unsigned
      long)>::arg<2>' requested here
DLWRAP(cuMemAlloc, 3);
^
/home/amd/llvm-project/openmp/libomptarget/include/dlwrap.h:51:31: ...
/home/amd/llvm-project/openmp/libomptarget/include/dlwrap.h:166:3: ...
/home/amd/llvm-project/openmp/libomptarget/include/dlwrap.h:133:3: ...
/home/amd/llvm-project/openmp/libomptarget/include/dlwrap.h:186:37: ...

If the arity is too small, the diagnostic is better:

cuda/dynamic_cuda/cuda.cpp:34:1: error: too few
      arguments to function call, expected 2, have 1
DLWRAP(cuMemAlloc, 1);

This patch changes the diagnostic to:

cuda/dynamic_cuda/cuda.cpp:34:1: error:
      static_assert failed due to requirement '1 == trait<cudaError_enum (*)(unsigned long *, unsigned
      long)>::nargs' "Arity Error"
DLWRAP(cuMemAlloc, 1);

or

cuda/dynamic_cuda/cuda.cpp:34:1: error:
      static_assert failed due to requirement '3 == trait<cudaError_enum (*)(unsigned long *, unsigned
      long)>::nargs' "Arity Error"
DLWRAP(cuMemAlloc, 3);

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D102858
The file was modifiedopenmp/libomptarget/include/dlwrap.h
Commit e10958c807f9091c3a69ce6506fa3b9579a8ca6a by jrtc27
[SelectionDAG][Mips][PowerPC][RISCV][WebAssembly] Teach computeKnownBits/ComputeNumSignBits about atomics

Unlike normal loads these don't have an extension field, but we know
from TargetLowering whether these are sign-extending or zero-extending,
and so can optimise away unnecessary extensions.

This was noticed on RISC-V, where sign extensions in the calling
convention would result in unnecessary explicit extension instructions,
but this also fixes some Mips inefficiencies. PowerPC sees churn in the
tests as all the zero extensions are only for promoting 32-bit to
64-bit, but these zero extensions are still not optimised away as they
should be, likely due to i32 being a legal type.

This also simplifies the WebAssembly code somewhat, which currently
works around the lack of target-independent combines with some ugly
patterns that break once they're optimised away.

Re-landed with correct handling in ComputeNumSignBits for Tmp == VTBits,
where zero-extending atomics were incorrectly returning 0 rather than
the (slightly confusing) required return value of 1.

Re-landed again after D102819 fixed PowerPC to correctly zero-extend all
of its atomics as it claimed to do, since the combination of that bug
and this optimisation caused buildbot regressions.

Reviewed By: RKSimon, atanasyan

Differential Revision: https://reviews.llvm.org/D101342
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i32-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i64-ldst.ll
The file was modifiedllvm/test/CodeGen/Mips/atomic.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i16-ldst.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/ppc-partword-atomic.ll
The file was modifiedllvm/test/CodeGen/RISCV/atomic-signext.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i8-ldst.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
Commit 6d19c84cd90369de5cda37f9a7a721e1cd9d0cb8 by jan.kratochvil
[lldb] Improve invalid DWARF DW_AT_ranges error reporting

In D98289#inline-939112 @dblaikie said:
  Perhaps this could be more informative about what makes the range list
  index of 0 invalid? "index 0 out of range of range list table (with
  range list base 0xXXX) with offset entry count of XX (valid indexes
  0-(XX-1))" Maybe that's too verbose/not worth worrying about since
  this'll only be relevant to DWARF producers trying to debug their
  DWARFv5, maybe no one will ever see this message in practice. Just
  a thought.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102851
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/debug_ranges-missing-section.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/DW_AT_range-DW_FORM_sec_offset.s
Commit 3eb12b0ae11fe23dc06e55e526fb45e460f72f1e by aheejin
[WebAssembly] Warn on exception spec for Emscripten EH

It turns out we have not correctly supported exception spec all along in
Emscripten EH. Emscripten EH supports `throw()` but not `throw` with
types. See https://bugs.llvm.org/show_bug.cgi?id=50396.

Wasm EH also only supports `throw()` but not `throw` with types, and we
have been printing a warning message for the latter. This prints the
same warning message for `throw` with types when Emscripten EH is used,
or more precisely, when Wasm EH is not used. (So this will print the
warning messsage even when `-fno-exceptions` is used but I think that
should be fine. It's cumbersome to do a complilcated option checking in
CGException.cpp and options checkings are mostly done in elsewhere.)

Reviewed By: dschuff, kripken

Differential Revision: https://reviews.llvm.org/D102791
The file was modifiedclang/lib/CodeGen/CGException.cpp
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
Commit e3cf7c88c472aff8ca6c8a07ef8c6513f581c67a by nicolas.vasilache
[mlir][MemRef] NFC - Drop MemRef EDSC usage

Drop the MemRef dialect EDSC subdirectory and update all uses.

Differential Revision: https://reviews.llvm.org/D102868
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was removedmlir/include/mlir/Dialect/MemRef/EDSC/Intrinsics.h
The file was modifiedmlir/include/mlir/IR/ImplicitLocOpBuilder.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
Commit c1db35f0c232a8672d44f2531d178d4da35b5b3c by pklausler
[flang] Implement more transformational intrinsic functions in runtime

Define APIs, naively implement, and add basic sanity unit tests for
the transformational intrinsic functions CSHIFT, EOSHIFT, PACK,
SPREAD, TRANSPOSE, and UNPACK.  These are the remaining transformational
intrinsic functions that rearrange data without regard to type
(except for default boundary values in EOSHIFT); RESHAPE was already
in place as a stress test for the runtime's descriptor handling
facilities.

Code is in place to create copies of allocatable/automatic
components when transforming arrays of derived type, but it won't
do anything until we have derived type information being passed to the
runtime from the frontend.

Differential Revision: https://reviews.llvm.org/D102857
The file was modifiedflang/unittests/RuntimeGTest/Matmul.cpp
The file was modifiedflang/runtime/type-info.h
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
The file was modifiedflang/runtime/CMakeLists.txt
The file was modifiedflang/unittests/RuntimeGTest/CMakeLists.txt
The file was modifiedflang/runtime/allocatable.cpp
The file was modifiedflang/runtime/descriptor.h
The file was modifiedflang/runtime/transformational.h
The file was addedflang/runtime/copy.h
The file was modifiedflang/runtime/transformational.cpp
The file was addedflang/unittests/RuntimeGTest/Transformational.cpp
The file was modifiedflang/module/__fortran_type_info.f90
The file was addedflang/runtime/copy.cpp
The file was modifiedflang/runtime/tools.cpp
The file was modifiedflang/unittests/RuntimeGTest/Namelist.cpp
The file was modifiedflang/runtime/tools.h
The file was modifiedflang/unittests/Evaluate/reshape.cpp
Commit 854367240d62802a547d25fb6027b2c3956e8cbf by pklausler
[flang] Fix broken build of flang with clang

A recent commit (e00a170) inadvertently exposed the Reshape runtime
function as being extern "C", for which it is not yet ready, leading
to a valid warning from clang that we treat as an error.  Patch.
The file was modifiedflang/runtime/transformational.h
The file was modifiedflang/runtime/transformational.cpp
Commit e620bea21199791513f3193a71b819b20a707ab1 by minyihh
[M68k] Allow user to preserve certain registers

Add `-ffixed-a[0-6]` and `-ffixed-d[0-7]` and the corresponding
subtarget features to prevent certain register from being allocated.

Differential Revision: https://reviews.llvm.org/D102805
The file was addedllvm/test/CodeGen/M68k/reserved-regs.ll
The file was modifiedllvm/lib/Target/M68k/M68k.td
The file was modifiedllvm/lib/Target/M68k/M68kSubtarget.h
The file was modifiedllvm/lib/Target/M68k/M68kSubtarget.cpp
The file was modifiedllvm/lib/Target/M68k/M68kRegisterInfo.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Arch/M68k.cpp
The file was addedclang/test/Driver/m68k-fixed-register.c
Commit dccf5c7dfb9e68f8750947f5c10ad3227cd92b50 by minyihh
[M68k] Support for inline asm operands w/ simple constraints

This patch adds supports for inline assembly operands and some simple
operand constraints, including register and constant operands.

Differential Revision: https://reviews.llvm.org/D102585
The file was modifiedclang/lib/Basic/Targets/M68k.h
The file was addedclang/test/Sema/inline-asm-validate-m68k.c
The file was modifiedllvm/lib/Target/M68k/M68kAsmPrinter.cpp
The file was modifiedllvm/lib/Target/M68k/M68kAsmPrinter.h
The file was modifiedllvm/lib/Target/M68k/M68kISelLowering.cpp
The file was addedllvm/test/CodeGen/M68k/inline-asm.ll
The file was modifiedllvm/lib/Target/M68k/M68kISelLowering.h
The file was modifiedclang/lib/Basic/Targets/M68k.cpp
Commit 4cb42564ec4b56ef7eb4758bfa4ddf844a163687 by Yaxun.Liu
[CUDA][HIP] Fix device variables used by host

variables emitted on both host and device side with different addresses
when ODR-used by host function should not cause device side counter-part
to be force emitted.

This fixes the regression caused by https://reviews.llvm.org/D102237

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D102801
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/SemaCUDA/static-device-var.cu
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was addedclang/test/AST/ast-dump-constant-var.cu
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CodeGenCUDA/host-used-device-var.cu
Commit 27c3db32c033663dbdfa8b92ed962a990b99f21e by pklausler
[flang] Remove unused variable

Fixes the clang build of flang/runtime/transformational.cpp.
The file was modifiedflang/runtime/transformational.cpp