FailedChanges

Summary

  1. [OpenMP] Emit remarks during GPU state machine optimization (details)
  2. [CallGraph] Update callback call sites in RefreshCallGraph (details)
  3. [OpenMP][IRBuilder] Support nested parallel regions (details)
  4. Revert "[Attributor] Track AA dependency using dependency graph" (details)
  5. [OpenMP][FIX] Check only for deterministic part of a generated function name (details)
  6. [Attributor] Fix build of unittest with DBUILD_SHARED_LIBS=True (details)
  7. [llvm][NFC] Hide the tensorflow dependency from headers. (details)
Commit fec1f2109f33c9a1a7650272b3bfb8f0f81f6a2b by johannes
[OpenMP] Emit remarks during GPU state machine optimization

Since D83271 we can optimize the GPU state machine to avoid spurious
call edges that increase the register usage of kernels. With this patch
we inform the user why and if this optimization is happening and when it
is not.

Reviewed By: ye-luo

Differential Revision: https://reviews.llvm.org/D83707
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was addedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
Commit 64d99a1d0476b8a451c3b36d900e84bc5707c061 by johannes
[CallGraph] Update callback call sites in RefreshCallGraph

Since D82572, we keep "reference" edges for callback call sites. While
not strictly necessary they can improve the traversal order. However, we
did not update them properly in case a pass removed the callback call
site which caused a verification error (PR46687). With this patch we
update these reference edges properly during the invocation of
`CallGraphSCCPass::RefreshCallGraph` in non-checking mode.

Reviewed By: sdmitriev

Differential Revision: https://reviews.llvm.org/D83718
The file was addedllvm/test/Transforms/OpenMP/parallel_deletion_cg_update.ll
The file was modifiedllvm/lib/Analysis/CallGraphSCCPass.cpp
Commit 7af287d0d921471f18b5c3054ce42381c0f973ed by johannes
[OpenMP][IRBuilder] Support nested parallel regions

During code generation we might change/add basic blocks so keeping a
list of them is fairly easy to break. Nested parallel regions were
enough. The new scheme does recompute the list of blocks to be outlined
once it is needed.

Reviewed By: anchu-rajendran

Differential Revision: https://reviews.llvm.org/D82722
The file was addedclang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
Commit 6db99d18b6bd4f51ee63f6899c7034f027116a57 by clfbbn
Revert "[Attributor] Track AA dependency using dependency graph"

This reverts commit 8df7af560aebce3f3de3541d039e17331c479831.
The file was removedllvm/test/Transforms/Attributor/depgraph.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit d87c92e5a2eca620903ce53592ccbe4f8807abe1 by johannes
[OpenMP][FIX] Check only for deterministic part of a generated function name
The file was modifiedclang/test/OpenMP/remarks_parallel_in_target_state_machine.c
The file was modifiedclang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
Commit 5282a6186cfb1405756811815a0187c84881baee by asb
[Attributor] Fix build of unittest with DBUILD_SHARED_LIBS=True

The dependencies in llvm/unittests/Transforms/IPO/CMakeLists.txt
introduced in revision 0750757e were incomplete, leading to link errors
for a DBUILD_SHARED_LIBS=True build.
The file was modifiedllvm/unittests/Transforms/IPO/CMakeLists.txt
Commit 4f763b2172c591ab253c8489fcd53af0c544d5cb by mtrofin
[llvm][NFC] Hide the tensorflow dependency from headers.

Summary:
This change avoids exposing tensorflow types when including TFUtils.h.
They are just an implementation detail, and don't need to be used
directly when implementing an analysis requiring ML model evaluation.

The TFUtils APIs, while generically typed, are still not exposed unless
the tensorflow C library is present, as they currently have no use
otherwise.

Reviewers: mehdi_amini, davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83843
The file was modifiedllvm/lib/Analysis/InlineSizeEstimatorAnalysis.cpp
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h