SuccessChanges

Summary

  1. [ORC] Remove OrcV1 APIs. (details)
  2. [ORC] Add support for resource tracking/removal (removable code). (details)
  3. [ORC][examples] Update Kaleidoscope and BuildingAJIT tutorial series to OrcV2. (details)
  4. [gn build] Port 0aec49c8531 (details)
  5. [gn build] Port 6154c4115cd (details)
  6. [PrologEpilogInserter] Reduce PR16393 test and fix a prologue parameter in a debuginfo test (details)
  7. [PowerPC] Skip combining (uint_to_fp x) if x is not simple type (details)
  8. [mlir] Allow space literals (` `) in assemblyFormat. (details)
  9. [PrologEpilogInserter] Fix prolog-params.mir (details)
  10. [mlir][gpu] NFC: Make room for more than one GPU rewrite pattern. (details)
  11. [NFC][SCEV] Use getMinusOne where possible (details)
  12. [Test] Add one more SCEV range test (details)
  13. [SVE][AArch64] Replace TypeSize comparisons with their integer equivalents (details)
  14. [SVE][CodeGen] Replace uses of TypeSize comparison operators (details)
  15. [ORC] Add a missing '&'. (details)
  16. [ORC] Move SimpleResourceManager function object inits out of constructor. (details)
  17. [SVE] Replace TypeSize comparison operators in llvm/utils/TableGen (details)
  18. [examples] Fix Kaleidoscope-Ch3, which was broken by ad92f16ccc5. (details)
  19. [SVE][CodeGen][NFC] Replace TypeSize comparison operators with their scalar equivalents (details)
  20. [clang-rename] Fix rename on function template specializations. (details)
  21. [examples] Fix test: Kaleidoscope Chapter 4 no longer supports redefinition. (details)
  22. [SVE][CodeGen] Replace more TypeSize comparison operators with their scalar equivalents (details)
  23. [clang-rename] Fix rename on variable templates. (details)
  24. [OpenMP][MLIR] Fix for nested parallel regions (details)
  25. [NFC][SCEV] Rename SCEVCastExpr into SCEVIntegralCastExpr (details)
  26. [TableGen] Remove test case (details)
Commit 6154c4115cd4b78d0171892aac21e340e72e32bd by Lang Hames
[ORC] Remove OrcV1 APIs.

This removes all legacy layers, legacy utilities, the old Orc C bindings,
OrcMCJITReplacement, and OrcMCJITReplacement regression tests.

ExecutionEngine and MCJIT are not affected by this change.
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/eh-lg-pic.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero.ll
The file was modifiedllvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-08-21-EnvironmentTest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/simplesttest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/cross-module-a.ll
The file was removedllvm/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
The file was removedllvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-09-SARTest.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-04-PhiTest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-phi.ll
The file was removedllvm/unittests/ExecutionEngine/Orc/GlobalMappingLayerTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc.ll
The file was removedllvm/unittests/ExecutionEngine/Orc/LegacyAPIInteropTest.cpp
The file was removedllvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/Inputs/multi-module-eh-b.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/hello2.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-common-symbols.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-shift.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/eh.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-return.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/Inputs/multi-module-b.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-04-LoopTest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/stubs-sm-pic.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-06-04-bzip2-bug.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/multi-module-a.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/Inputs/multi-module-c.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-setcond-int.ll
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-common-symbols-remote.ll
The file was modifiedllvm/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/pr13727.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/stubs.ll
The file was removedllvm/unittests/ExecutionEngine/Orc/LegacyCompileOnDemandLayerTest.cpp
The file was removedllvm/include/llvm/ExecutionEngine/Orc/Legacy.h
The file was removedllvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/lit.local.cfg
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/lit.local.cfg
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/load-object-a.ll
The file was removedllvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
The file was removedllvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-fp-no-external-funcs-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-data-align.ll
The file was removedllvm/unittests/ExecutionEngine/Orc/RemoteObjectLayerTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/cross-module-sm-pic-a.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-loop.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2005-12-02-TailCallBug.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-loadstore.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/Inputs/cross-module-b.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/multi-module-sm-pic-a.ll
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-cast.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-global.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-04-ArgumentBug.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-05-11-PHIRegAllocBug.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/non-extern-addend.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-15-AlignmentTest.ll
The file was removedllvm/lib/ExecutionEngine/Orc/NullResolver.cpp
The file was removedllvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp
The file was removedllvm/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/cross-module-a.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-global-ctors.ll
The file was removedllvm/unittests/ExecutionEngine/Orc/LazyEmittingLayerTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-08-23-RegisterAllocatePhysReg.ll
The file was modifiedllvm/tools/lli/lli.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/simpletest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/simpletest-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2007-12-10-APIntLoadStore.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-ret.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-05-07-ArgumentTest.ll
The file was removedllvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-setcond-fp.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-arith.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-call.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-01-10-FUCOM.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/Inputs/weak-function-2.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/Inputs/cross-module-b.ll
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/stubs-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/Inputs/multi-module-c.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/multi-module-a.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2013-04-04-RelocAddend.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-logical.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/weak-function.ll
The file was removedllvm/lib/ExecutionEngine/Orc/Legacy.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-08-15-AllocaAssertion.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2002-12-16-ArgTest.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/hello.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/ExecutionEngine.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-data-align-remote.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-local.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-common-symbols-alignment.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-constantexpr.ll
The file was modifiedllvm/tools/llvm-c-test/include-all.c
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-05-06-LivenessClobber.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/CMakeLists.txt
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-06-05-PHIBug.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/fpbitcast.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/eh.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/2008-06-05-APInt-OverAShr.ll
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was removedllvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-fp.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll
The file was removedllvm/include/llvm-c/OrcBindings.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-fp-no-external-funcs.ll
The file was modifiedllvm/tools/lli/RemoteJITUtils.h
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-call-no-external-funcs.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/multi-module-eh-a.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/test-branch.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/pr32650.ll
The file was removedllvm/test/ExecutionEngine/OrcMCJIT/remote/Inputs/multi-module-b.ll
The file was removedllvm/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
The file was removedllvm/include/llvm/ExecutionEngine/Orc/NullResolver.h
Commit 0aec49c8531bc5282b095730d34681455826bc2c by Lang Hames
[ORC] Add support for resource tracking/removal (removable code).

This patch introduces new APIs to support resource tracking and removal in Orc.
It is intended as a thread-safe generalization of the removeModule concept from
OrcV1.

Clients can now create ResourceTracker objects (using
JITDylib::createResourceTracker) to track resources for each MaterializationUnit
(code, data, aliases, absolute symbols, etc.) added to the JIT. Every
MaterializationUnit will be associated with a ResourceTracker, and
ResourceTrackers can be re-used for multiple MaterializationUnits. Each JITDylib
has a default ResourceTracker that will be used for MaterializationUnits added
to that JITDylib if no ResourceTracker is explicitly specified.

Two operations can be performed on ResourceTrackers: transferTo and remove. The
transferTo operation transfers tracking of the resources to a different
ResourceTracker object, allowing ResourceTrackers to be merged to reduce
administrative overhead (the source tracker is invalidated in the process). The
remove operation removes all resources associated with a ResourceTracker,
including any symbols defined by MaterializationUnits associated with the
tracker, and also invalidates the tracker. These operations are thread safe, and
should work regardless of the the state of the MaterializationUnits. In the case
of resource transfer any existing resources associated with the source tracker
will be transferred to the destination tracker, and all future resources for
those units will be automatically associated with the destination tracker. In
the case of resource removal all already-allocated resources will be
deallocated, any if any program representations associated with the tracker have
not been compiled yet they will be destroyed. If any program representations are
currently being compiled then they will be prevented from completing: their
MaterializationResponsibility will return errors on any attempt to update the
JIT state.

Clients (usually Layer writers) wishing to track resources can implement the
ResourceManager API to receive notifications when ResourceTrackers are
transferred or removed. The MaterializationResponsibility::withResourceKeyDo
method can be used to create associations between the key for a ResourceTracker
and an allocated resource in a thread-safe way.

RTDyldObjectLinkingLayer and ObjectLinkingLayer are updated to use the
ResourceManager API to enable tracking and removal of memory allocated by the
JIT linker.

The new JITDylib::clear method can be used to trigger removal of every
ResourceTracker associated with the JITDylib (note that this will only
remove resources for the JITDylib, it does not run static destructors).

This patch includes unit tests showing basic usage. A follow-up patch will
update the Kaleidoscope and BuildingAJIT tutorial series to OrcV2 and will
use this API to release code associated with anonymous expressions.
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
The file was modifiedllvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/Layer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/LLJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Layer.h
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was addedllvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/RuntimeDyld.h
Commit ad92f16ccc5f87625bfea2823cd79700bea52c54 by Lang Hames
[ORC][examples] Update Kaleidoscope and BuildingAJIT tutorial series to OrcV2.

This patch updates the Kaleidoscope and BuildingAJIT tutorial series (chapter
1-4) to OrcV2. Chapter 5 of the BuildingAJIT series is removed -- it will be
re-instated once we have in-tree support for out-of-process JITing.

This patch only updates the tutorial code, not the text. Patches welcome for
that, otherwise I will try to update it in a few weeks.
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/Chapter3/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/CMakeLists.txt
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/RemoteJITUtils.h
The file was modifiedllvm/examples/Kaleidoscope/Chapter6/toy.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/TPCIndirectionUtils.h
The file was removedllvm/docs/tutorial/BuildingAJIT5.rst
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/Chapter7/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/Chapter4/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/Chapter9/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/CMakeLists.txt
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/Server/CMakeLists.txt
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/Chapter5/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/Chapter8/toy.cpp
The file was removedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter5/Server/server.cpp
The file was modifiedllvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
The file was modifiedllvm/examples/Kaleidoscope/include/KaleidoscopeJIT.h
The file was modifiedllvm/lib/ExecutionEngine/Orc/TPCIndirectionUtils.cpp
The file was modifiedllvm/docs/tutorial/BuildingAJIT4.rst
Commit ef77026db3d06bd81c14850982884aec5f39064f by llvmgnsyncbot
[gn build] Port 0aec49c8531
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Commit 5f57d3d480f767ae5ca36df4c0c26f9c68683491 by llvmgnsyncbot
[gn build] Port 6154c4115cd
The file was modifiedllvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/Orc/BUILD.gn
Commit 2819631914a7bf01303c63aaf1abcbbe2fab967f by i
[PrologEpilogInserter] Reduce PR16393 test and fix a prologue parameter in a debuginfo test
The file was modifiedllvm/test/DebugInfo/X86/prolog-params.mir
The file was modifiedllvm/test/CodeGen/ARM/struct-byval-frame-index.ll
Commit 354d3106c6a9d6de824ee7ffa501387592b15afa by lkail
[PowerPC] Skip combining (uint_to_fp x) if x is not simple type

Current powerpc64le backend hits
```
Combining: t7: f64 = uint_to_fp t6
llc: llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:291: llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.
```
This patch fixes it by skipping combination if `t6` is not simple type.
Fixed https://bugs.llvm.org/show_bug.cgi?id=47660.

Reviewed By: #powerpc, steven.zhang

Differential Revision: https://reviews.llvm.org/D88388
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/pr47660.ll
Commit f9b8a0b96b47343a025939db588f260ed6d7b4e3 by csigg
[mlir] Allow space literals (` `) in assemblyFormat.

Spaces are only printed, not parsed.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D89585
The file was modifiedmlir/test/mlir-tblgen/op-format-spec.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-tblgen/op-format.mlir
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
Commit 4c750004651935d8f19a9a277c2a2f4f59dff1d7 by i
[PrologEpilogInserter] Fix prolog-params.mir
The file was modifiedllvm/test/DebugInfo/X86/prolog-params.mir
Commit ad3ecc24b1db56f87f89b9fd52eb1ad531056894 by csigg
[mlir][gpu] NFC: Make room for more than one GPU rewrite pattern.

AllReduceLowering is currently the only GPU rewrite pattern, but more are coming. This is a preparation change.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D89370
The file was removedmlir/test/lib/Transforms/TestAllReduceLowering.cpp
The file was addedmlir/test/lib/Transforms/TestGpuRewrite.cpp
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/GPU/Passes.h
The file was modifiedmlir/test/Dialect/GPU/all-reduce-max.mlir
The file was modifiedmlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
The file was modifiedmlir/test/Dialect/GPU/all-reduce.mlir
Commit 199826baa893b656b45585f0844d7c5a6dabb19c by mkazantsev
[NFC][SCEV] Use getMinusOne where possible
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit c153d48b15c7518633d4a5fb4e161ad740416d17 by mkazantsev
[Test] Add one more SCEV range test
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
Commit d67d8f879027ef401d22cc71b07a77b882d53376 by david.sherwood
[SVE][AArch64] Replace TypeSize comparisons with their integer equivalents

In many places in the AArch64 backend we are comparing TypeSize objects,
but in fact we are only ever expecting fixed width types. I've changed
all such comparisons to use their integer equivalents by replacing
calls to getSizeInBits() with getFixedSizeInBits(), etc.

Differential Revision: https://reviews.llvm.org/D89116
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Commit f693f915a07eca94a3faeadc3b5dad59fc0eb1de by david.sherwood
[SVE][CodeGen] Replace uses of TypeSize comparison operators

In certain places in the code we can never end up in a situation where
we're mixing fixed width and scalable vector types. For example,
we can't have truncations and extends that change the lane count. Also,
in other places such as GenWidenVectorStores and GenWidenVectorLoads we
know from the behaviour of FindMemType that we can never choose a vector
type with a different scalable property.

In various places I have used EVT::bitsXY functions instead of
TypeSize::isKnownXY, where it probably makes sense to keep an assert
that scalable properties match.

Differential Revision: https://reviews.llvm.org/D88654
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit 0aa5e34f659121da76c0ce18d06735930d9d0775 by Lang Hames
[ORC] Add a missing '&'.
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Core.h
Commit d54c4e382114650ac8084b7511083253cbe9b8d1 by Lang Hames
[ORC] Move SimpleResourceManager function object inits out of constructor.

MSVC doesn't seem to like capturing references to variables in lambdas passed to
the variable's constructor. This should fix the windows bots that have been
unable to build the new ResourceTracker unit test.
The file was modifiedllvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp
Commit 72701773a7cae1243b0ccf820177dfa55c3a0343 by david.sherwood
[SVE] Replace TypeSize comparison operators in llvm/utils/TableGen

In CodeGenDAGPatterns.cpp we were relying upon TypeSize comparison
operators for ordering types, when we can actually just use the known
minimum size since the scalable property is already being taken into
account. Also, in TypeInfer::EnforceSameSize I fixed some implicit
TypeSize->uint64_t casts by changing the code to test the equality
of TypeSize objects instead.

In other places I have replaced calls to getSizeInBits() with
getFixedSizeInBits() because we are only ever expecting integer values.

Differential Revision: https://reviews.llvm.org/D88947
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
Commit 7579941d8b02af995e152a453da9b9cc0cc205e7 by Lang Hames
[examples] Fix Kaleidoscope-Ch3, which was broken by ad92f16ccc5.
The file was modifiedllvm/examples/Kaleidoscope/Chapter3/toy.cpp
Commit 35a531fb456a5d8f68cf153ca2c35c7170b9b92f by david.sherwood
[SVE][CodeGen][NFC] Replace TypeSize comparison operators with their scalar equivalents

In certain places in llvm/lib/CodeGen we were relying upon the TypeSize
comparison operators when in fact the code was only ever expecting
either scalar values or fixed width vectors. I've changed some of these
places to use the equivalent scalar operator.

Differential Revision: https://reviews.llvm.org/D88482
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit 45a15dc682c06b95cd9182a889e972e93b58aa8e by hokein.wu
[clang-rename] Fix rename on function template specializations.

previously, we missed to rename occurrences to explicit function template
specilizations.

Differential Revision: https://reviews.llvm.org/D89221
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
The file was addedclang/test/clang-rename/FunctionTemplate.cpp
Commit 039f3d01cbff8e162b38671f2e8ff802b74298c8 by Lang Hames
[examples] Fix test: Kaleidoscope Chapter 4 no longer supports redefinition.

This may be fixed in the future, but since redefinition in OrcV2 requires more
manual work on the JIT client's part it was left out of the most recent update
to the tutorials.
The file was modifiedllvm/test/Examples/Kaleidoscope/Chapter4.test
Commit 3945b69e815b3312125a0461b8b6ba53349ab3ed by david.sherwood
[SVE][CodeGen] Replace more TypeSize comparison operators with their scalar equivalents

In certain places in llvm/lib/CodeGen we were relying upon the TypeSize
comparison operators when in fact the code was only ever expecting
either scalar values or fixed width vectors. This patch changes a few
functions that were always expecting to work on scalar or fixed width
types:

1. DAGCombiner::mergeTruncStores - deals with scalar integers only.
2. DAGCombiner::ReduceLoadWidth - not valid for vectors.
3. DAGCombiner::createBuildVecShuffle - should only be used for
   fixed width vectors.
4. SelectionDAGLegalize::ExpandFCOPYSIGN and
   SelectionDAGLegalize::getSignAsIntValue - only work on scalars.

Differential Revision: https://reviews.llvm.org/D88562
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit 1e32df2f91f1aa1f8cd400ce50a621578fa0534e by hokein.wu
[clang-rename] Fix rename on variable templates.

This patch adds support for renaming variable templates.

Differential Revision: https://reviews.llvm.org/D89300
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
The file was addedclang/test/clang-rename/VariableTemplate.cpp
Commit a71a0d6d219a8d460e6aadadc47dbb04955f1375 by kiran.chandramohan
[OpenMP][MLIR] Fix for nested parallel regions

Usage of nested parallel regions were not working correctly and leading
to assertion failures. Fix contains the following changes,
1) Don't set the insertion point in the body callback.
2) Save the continuation IP in a stack and set the branch to
continuationIP at the terminator.

Reviewed By: SouraVX, jdoerfert, ftynse

Differential Revision: https://reviews.llvm.org/D88720
The file was modifiedmlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/Target/openmp-llvm.mlir
Commit d083d55c2cd18437495abea791d3a8454c2f9861 by lebedev.ri
[NFC][SCEV] Rename SCEVCastExpr into SCEVIntegralCastExpr

All existing SCEV cast types operate on integers.
D89456 will add SCEVPtrToIntExpr cast expression type.
I believe this is best for consistency.

Reviewed By: mkazantsev

Differential Revision: https://reviews.llvm.org/D89455
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
The file was modifiedllvm/lib/Analysis/DependenceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
Commit f8b04e0653f16aafe8c41c22ed3859868575a4e9 by eleviant
[TableGen] Remove test case

Differential revision: https://reviews.llvm.org/D89114
The file was removedllvm/test/TableGen/sched-aliases.td