Changes

Summary

  1. [mlir][sparse] add dce test for all sparse tensor ops (details)
  2. [mlir][sparse] add a sparse quantized_matmul example to integration test (details)
  3. [InstCombine] add tests for min/max intrinsics with offset operand; NFC (details)
  4. [OpenMP] Use irbuilder as default for masked and master construct (details)
  5. OpenMP 5.0 metadirective (details)
  6. Revert "OpenMP 5.0 metadirective" (details)
  7. OpenMP 5.0 metadirective (details)
  8. Revert "[OpenMP] Use irbuilder as default for masked and master construct" (details)
  9. Apply proper source location to fallthrough switch cases. (details)
  10. [NFC] Remove FIXMEs about calling LLVMContext::yield() (details)
  11. [AArch64][SVE][InstCombine] Fold redundant zip1/2(uzp1/2) operations (details)
  12. [flang] More checking of NULL pointer actual arguments (details)
  13. [MachCore] Report arm64 thread exception state (details)
  14. [lld-macho] Construct CFString literals by copying the ConcatInputSection (details)
  15. [OpenMP] Add NoSync attributes to alloc / free shared RTL calls (details)
  16. [Attributor] Change AAExecutionDomain to check intrinsic edges (details)
  17. Reland "[LLD] Remove global state in lld/COFF" after fixing asan and msan test failures (details)
  18. [mlir] Fix syntax example for tensor.from_elements (details)
  19. [lld] Fix small error in previous commit (details)
  20. [OpenMP] Change debugging symbol to weak_odr linkage (details)
  21. [OpenMP] Implement __assert_fail in the new device runtime (details)
  22. [OpenMP] Add additional fields to device environment (details)
  23. [OpenMP] Add support for dynamic shared memory in new RTL (details)
  24. Check for invalid projects passed in LLVM_ENABLE_PROJECTS (details)
Commit d4e16171e889df1be22cb9cc64c58c9966124db3 by ajcbik
[mlir][sparse] add dce test for all sparse tensor ops

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D109992
The file was modifiedmlir/test/Dialect/SparseTensor/fold.mlir (diff)
Commit 46e77b5d109b13c0d972f643c2e368d1962715dd by ajcbik
[mlir][sparse] add a sparse quantized_matmul example to integration test

Note that this revision adds a very tiny bit of constant folding in the
sparse compiler lattice construction. Although I am generally trying to
avoid such canonicalizations (and rely on other passes to fix this instead),
the benefits of avoiding a very expensive disjunction lattice construction
justify having this special code (at least for now).

Reviewed By: bixia

Differential Revision: https://reviews.llvm.org/D109939
The file was modifiedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h (diff)
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
Commit 6da35036023d9184bc2578c9c9baff76dd70c43e by spatel
[InstCombine] add tests for min/max intrinsics with offset operand; NFC
The file was modifiedllvm/test/Transforms/InstCombine/minmax-intrinsics.ll (diff)
Commit 2908fc0d3f16f873b5019f1c62a24482c2b75e36 by cchen
[OpenMP] Use irbuilder as default for masked and master construct

Use irbuilder as default and remove redundant Clang codegen for masked construct and master construct.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D100874
The file was modifiedclang/test/OpenMP/masked_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/test/OpenMP/master_codegen.cpp (diff)
Commit c7d7b98e5263472f05b2f3cb767b5d16e1349e9a by cchen
OpenMP 5.0 metadirective

This patch supports OpenMP 5.0 metadirective features.
It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.

A new function, getBestWhenMatchForContext, is defined in llvm/Frontend/OpenMP/OMPContext.h

Currently this function return the index of the when clause with the highest score from the ones applicable in the Context.
But this function is declared with an array which can be used in OpenMP 5.1 implementation to select all the valid when clauses which can be resolved in runtime. Currently this array is set to null by default and its implementation is left for future.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D91944
The file was modifiedclang/lib/AST/OpenMPClause.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was modifiedclang/include/clang/Basic/StmtNodes.td (diff)
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/include/clang-c/Index.h (diff)
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was modifiedclang/lib/AST/StmtPrinter.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was addedclang/test/OpenMP/metadirective_messages.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_empty.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was addedclang/test/OpenMP/metadirective_ast_print.c
The file was modifiedclang/include/clang/AST/StmtOpenMP.h (diff)
The file was addedclang/test/OpenMP/metadirective_device_kind_codegen.c
The file was addedclang/test/OpenMP/metadirective_implementation_codegen.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/lib/AST/StmtOpenMP.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_implementation_codegen.c
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was addedclang/test/OpenMP/metadirective_device_kind_codegen.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
Commit 7efb825382c0a8372597aaf75a319fa379573fd4 by cchen
Revert "OpenMP 5.0 metadirective"

This reverts commit c7d7b98e5263472f05b2f3cb767b5d16e1349e9a.
The file was modifiedclang/lib/AST/StmtPrinter.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/lib/AST/StmtOpenMP.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/include/clang/AST/StmtOpenMP.h (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/tools/libclang/CXCursor.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was removedclang/test/OpenMP/metadirective_implementation_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was removedclang/test/OpenMP/metadirective_messages.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedclang/lib/AST/OpenMPClause.cpp (diff)
The file was removedclang/test/OpenMP/metadirective_implementation_codegen.c
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)
The file was modifiedclang/include/clang/Basic/StmtNodes.td (diff)
The file was modifiedclang/include/clang-c/Index.h (diff)
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was removedclang/test/OpenMP/metadirective_empty.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was removedclang/test/OpenMP/metadirective_ast_print.c
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was removedclang/test/OpenMP/metadirective_device_kind_codegen.c
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h (diff)
The file was removedclang/test/OpenMP/metadirective_device_kind_codegen.cpp
Commit 347f3c186d3fd86628904450d2f4ee0ffd428150 by cchen
OpenMP 5.0 metadirective

This patch supports OpenMP 5.0 metadirective features.
It is implemented keeping the OpenMP 5.1 features like dynamic user condition in mind.

A new function, getBestWhenMatchForContext, is defined in llvm/Frontend/OpenMP/OMPContext.h

Currently this function return the index of the when clause with the highest score from the ones applicable in the Context.
But this function is declared with an array which can be used in OpenMP 5.1 implementation to select all the valid when clauses which can be resolved in runtime. Currently this array is set to null by default and its implementation is left for future.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D91944
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_implementation_codegen.c
The file was addedclang/test/OpenMP/metadirective_messages.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_empty.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp (diff)
The file was modifiedclang/lib/AST/StmtOpenMP.cpp (diff)
The file was modifiedclang/lib/AST/StmtPrinter.cpp (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
The file was modifiedclang/include/clang-c/Index.h (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp (diff)
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_device_kind_codegen.c
The file was modifiedclang/include/clang/AST/StmtOpenMP.h (diff)
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h (diff)
The file was addedclang/test/OpenMP/metadirective_device_kind_codegen.cpp
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)
The file was modifiedclang/include/clang/Basic/StmtNodes.td (diff)
The file was addedclang/test/OpenMP/metadirective_implementation_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h (diff)
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was addedclang/test/OpenMP/metadirective_ast_print.c
The file was modifiedclang/lib/AST/OpenMPClause.cpp (diff)
The file was modifiedclang/tools/libclang/CXCursor.cpp (diff)
Commit 9ff848c5cd88947714f3d9bf03a3adbb84066736 by cchen
Revert "[OpenMP] Use irbuilder as default for masked and master construct"

This reverts commit 2908fc0d3f16f873b5019f1c62a24482c2b75e36.
The file was modifiedclang/test/OpenMP/masked_codegen.cpp (diff)
The file was modifiedclang/test/OpenMP/master_codegen.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
Commit 843390c58ae660fa356c534fdc8b19756f8d175c by Adrian Prantl
Apply proper source location to fallthrough switch cases.

This fixes a bug in clang where, when clang sees a switch with a
fallthrough to a default like this:

static void funcA(void) {}
static void funcB(void) {}

int main(int argc, char **argv) {

switch (argc) {
    case 0:
        funcA();
        break;
    case 10:
    default:
        funcB();
        break;
}
}

It does not add a proper debug location for that switch case, such as
case 10: above.

Patch by Shubham Rastogi!

Differential Revision: https://reviews.llvm.org/D109940
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was addedclang/test/CodeGen/debug-info-switch-fallthrough.c
Commit 0db948120826d59fbede50ac9abe2ad1862dfaa3 by aeubanks
[NFC] Remove FIXMEs about calling LLVMContext::yield()

Nobody has complained about this, and the documentation for
LLVMContext::yield() states that LLVM is allowed to never call it.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D110008
The file was modifiedllvm/lib/Transforms/Scalar/LoopPassManager.cpp (diff)
The file was modifiedllvm/include/llvm/IR/PassManager.h (diff)
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp (diff)
Commit 757384abff38fa41877afe36c36a1850b60fef0f by mnadeem
[AArch64][SVE][InstCombine] Fold redundant zip1/2(uzp1/2) operations

    zip1(uzp1(A, B), uzp2(A, B)) --> A
    zip2(uzp1(A, B), uzp2(A, B)) --> B

Differential Revision: https://reviews.llvm.org/D109666

Change-Id: I4a6578db2fcef9ff71ad0e77b9fe08354e6dbfcd
The file was addedllvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-zip.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff)
Commit bcb2591b6ca00365cb9f99efafeb3bfe8682f002 by pklausler
[flang] More checking of NULL pointer actual arguments

Catch additional missing error cases for typed and untyped
NULL actual arguments to non-intrinsic procedures in cases
of explicit and implicit interfaces.

Differential Revision: https://reviews.llvm.org/D110003
The file was modifiedflang/lib/Semantics/check-call.cpp (diff)
The file was modifiedflang/lib/Semantics/pointer-assignment.cpp (diff)
The file was modifiedflang/test/Semantics/null01.f90 (diff)
Commit 3b14d80ad4af303c9f7df189b8b7eee528d0ec8d by Vedant Kumar
[MachCore] Report arm64 thread exception state

A MachO userspace corefile may contain LC_THREAD commands which specify
thread exception state.

For arm64* only (for now), report a human-readable version of this state
as the thread stop reason, instead of 'SIGSTOP'.

As a follow-up, similar functionality can be implemented for x86 cores
by translating the trapno/err exception registers.

rdar://82898146

Differential Revision: https://reviews.llvm.org/D109795
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (diff)
The file was addedlldb/test/API/macosx/corefile-exception-reason/main.cpp
The file was modifiedlldb/test/API/functionalities/postmortem/mach-core/operating_system.py (diff)
The file was addedlldb/include/lldb/Target/AppleArm64ExceptionClass.def
The file was modifiedlldb/source/Plugins/Process/mach-core/ThreadMachCore.cpp (diff)
The file was addedlldb/test/API/macosx/corefile-exception-reason/TestCorefileExceptionReason.py
The file was modifiedlldb/test/API/functionalities/postmortem/mach-core/TestMachCore.py (diff)
The file was addedlldb/include/lldb/Target/AppleArm64ExceptionClass.h
The file was modifiedlldb/include/lldb/module.modulemap (diff)
The file was addedlldb/test/API/macosx/corefile-exception-reason/Makefile
Commit 91ace9f06202c567f5600c59f62188db3f3c7147 by jezng
[lld-macho] Construct CFString literals by copying the ConcatInputSection

... instead of constructing a new one each time. This allows us
to take advantage of {D105305}.

I didn't see a substantial difference when linking chromium_framework,
but this paves the way for reusing similar logic for splitting compact
unwind entries into sections. There are a lot more of those, so the
performance impact is significant.

Differential Revision: https://reviews.llvm.org/D109895
The file was modifiedlld/MachO/InputFiles.cpp (diff)
Commit fec2927e0739144d101d5ad1e912bde9e8cd1fb6 by jhuber6
[OpenMP] Add NoSync attributes to alloc / free shared RTL calls

This patch adds the `nosync` attribute to the `__kmpc_alloc_shared` and
`__kmpc_free_shared` runtime library calls. This allows code analysis to
know that these functins dont contain any barriers. This will help
optimizations reason about the CFG of blocks containing these calls.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109995
The file was modifiedllvm/test/Transforms/OpenMP/remove_globalization.ll (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def (diff)
The file was modifiedllvm/test/Transforms/OpenMP/replace_globalization.ll (diff)
Commit 27905eeb89620357bbb69e8396c4708341a5fd1a by jhuber6
[Attributor] Change AAExecutionDomain to check intrinsic edges

The AAExecutionDomain instance checks if a BB is executed by the main
thread only. Currently, this only checks the `__kmpc_kernel_init` call
for generic regions to indicate the path taken by the main thread. In
the new runtime, we want to be able to detect basic blocks even in SPMD
mode. For this we enable it to check thread-ID intrinsics being compared
to zero as well.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109849
The file was modifiedllvm/test/Transforms/OpenMP/single_threaded_execution.ll (diff)
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp (diff)
Commit 6f7483b1ece4747f2aafe4baa05fc07e7dc9ed9d by akhuang
Reland "[LLD] Remove global state in lld/COFF" after fixing asan and msan test failures

Original commit description:

  [LLD] Remove global state in lld/COFF

  This patch removes globals from the lldCOFF library, by moving globals
  into a context class (COFFLinkingContext) and passing it around wherever
  it's needed.

  See https://lists.llvm.org/pipermail/llvm-dev/2021-June/151184.html for
  context about removing globals from LLD.

  I also haven't moved the `driver` or `config` variables yet.

  Differential Revision: https://reviews.llvm.org/D109634

This reverts commit a2fd05ada9030eab2258fff25e77a05adccae128.

Original commits were b4fa71eed34d967195514fe9b0a5211fca2bc5bc
and e03c7e367adb8f228332e3c2ef8f45484597b719.
The file was modifiedlld/COFF/LTO.cpp (diff)
The file was modifiedlld/COFF/LTO.h (diff)
The file was modifiedlld/COFF/LLDMapFile.h (diff)
The file was modifiedlld/COFF/TypeMerger.h (diff)
The file was modifiedlld/COFF/Writer.h (diff)
The file was modifiedlld/COFF/CMakeLists.txt (diff)
The file was modifiedllvm/utils/gn/secondary/lld/COFF/BUILD.gn (diff)
The file was modifiedlld/COFF/CallGraphSort.h (diff)
The file was modifiedlld/COFF/ICF.cpp (diff)
The file was modifiedlld/COFF/InputFiles.cpp (diff)
The file was modifiedlld/COFF/SymbolTable.cpp (diff)
The file was modifiedlld/COFF/Chunks.h (diff)
The file was modifiedlld/COFF/ICF.h (diff)
The file was modifiedlld/COFF/MinGW.h (diff)
The file was modifiedlld/COFF/Driver.cpp (diff)
The file was modifiedlld/COFF/Chunks.cpp (diff)
The file was modifiedlld/COFF/DLL.h (diff)
The file was modifiedlld/COFF/Writer.cpp (diff)
The file was modifiedlld/COFF/DebugTypes.cpp (diff)
The file was modifiedlld/COFF/MinGW.cpp (diff)
The file was modifiedlld/COFF/DebugTypes.h (diff)
The file was modifiedlld/COFF/LLDMapFile.cpp (diff)
The file was modifiedlld/COFF/MapFile.h (diff)
The file was addedlld/test/COFF/timers.ll
The file was modifiedlld/COFF/MapFile.cpp (diff)
The file was modifiedlld/COFF/InputFiles.h (diff)
The file was modifiedlld/include/lld/Common/Timer.h (diff)
The file was modifiedlld/COFF/CallGraphSort.cpp (diff)
The file was modifiedlld/COFF/DLL.cpp (diff)
The file was addedlld/COFF/COFFLinkerContext.h
The file was modifiedlld/COFF/MarkLive.cpp (diff)
The file was modifiedlld/COFF/PDB.h (diff)
The file was modifiedlld/COFF/Driver.h (diff)
The file was modifiedlld/COFF/PDB.cpp (diff)
The file was addedlld/COFF/COFFLinkerContext.cpp
The file was modifiedlld/COFF/MarkLive.h (diff)
The file was modifiedlld/COFF/SymbolTable.h (diff)
The file was modifiedlld/Common/Timer.cpp (diff)
Commit 2cda4f8ed798ecf061965b54976e427459514763 by noreply
[mlir] Fix syntax example for tensor.from_elements

Parens are not used here
The file was modifiedmlir/include/mlir/Dialect/Tensor/IR/TensorOps.td (diff)
Commit 724a1dff8a8eabee4ca03036dd3efd84ecd8298a by akhuang
[lld] Fix small error in previous commit
6f7483b1ece4747f2aafe4baa05fc07e7dc9ed9d.
The file was modifiedlld/Common/Timer.cpp (diff)
Commit c30d7730ebde18d61b33ae1de9ded69dac6ea6be by jhuber6
[OpenMP] Change debugging symbol to weak_odr linkage

The new device runtime uses an internal variable to set debugging. This
variable was originally privately linked because every module will have
a copy of it. This caused problems with merging the device bitcode
library because it would get renamed and there was not a way to refer to
an external, private symbol. This changes the symbol to weak_odr so it
can be defined multiply, but will not be renamed.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D109997
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp (diff)
The file was modifiedclang/test/OpenMP/target_debug_codegen.cpp (diff)
Commit b266bcb13557f6a9fcf58a2d2be271a631aee72f by jhuber6
[OpenMP] Implement __assert_fail in the new device runtime

This patch implements the `__assert_fail` function in the new device
runtime. This allows users and developers to use the standars assert
function inside of the device.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D109886
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Debug.cpp (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Debug.h (diff)
Commit ec02c34b6df1efc643e5889bf3f181d55c4fed38 by jhuber6
[OpenMP] Add additional fields to device environment

This patch adds fields for the device number and number of devices into
the device environment struct and debugging values.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D110004
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Configuration.cpp (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Configuration.h (diff)
The file was modifiedopenmp/libomptarget/deviceRTLs/common/device_environment.h (diff)
Commit f1c821fa850b5168e0cc120f2497ac54d8ad325b by jhuber6
[OpenMP] Add support for dynamic shared memory in new RTL

This patch adds support for using dynamic shared memory in the new
device runtime. The new function `__kmpc_get_dynamic_shared` will return a
pointer to the buffer of dynamic shared memory. Currently the amount of memory
allocated is set by an environment variable.

In the future this amount will be added to the amount used for the smart stack
which will be configured in a similar way.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D110006
The file was modifiedopenmp/docs/design/Runtimes.rst (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Configuration.h (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Configuration.cpp (diff)
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp (diff)
The file was addedopenmp/libomptarget/test/api/omp_dynamic_shared_memory.c
The file was modifiedopenmp/libomptarget/DeviceRTL/include/State.h (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Interface.h (diff)
The file was modifiedopenmp/libomptarget/DeviceRTL/src/State.cpp (diff)
Commit 4121ac1e7f96d826b793bd7e29c181f1eb8168bf by joker.eph
Check for invalid projects passed in LLVM_ENABLE_PROJECTS

This is catching misconfiguration. For example one of my automation
had a typo running `-DLLVM_ENABLE_PROJECTS=nlir` and it was just
silently ignored. Instead, an error will now be displayed.

Differential Revision: https://reviews.llvm.org/D110016
The file was modifiedllvm/CMakeLists.txt (diff)