|
|
|||
File indexing completed on 2026-05-10 08:44:38
0001 //===- MaterializationUtils.h - Utilities for doing materialization -------===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 0009 #include "llvm/Transforms/Coroutines/SuspendCrossingInfo.h" 0010 0011 #ifndef LLVM_TRANSFORMS_COROUTINES_MATERIALIZATIONUTILS_H 0012 #define LLVM_TRANSFORMS_COROUTINES_MATERIALIZATIONUTILS_H 0013 0014 namespace llvm { 0015 0016 namespace coro { 0017 0018 // True if I is trivially rematerialzable, e.g. InsertElementInst 0019 bool isTriviallyMaterializable(Instruction &I); 0020 0021 // Performs rematerialization, invoked from buildCoroutineFrame. 0022 void doRematerializations(Function &F, SuspendCrossingInfo &Checker, 0023 std::function<bool(Instruction &)> IsMaterializable); 0024 0025 } // namespace coro 0026 0027 } // namespace llvm 0028 0029 #endif // LLVM_TRANSFORMS_COROUTINES_MATERIALIZATIONUTILS_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|