/
redgpu
/
ispc
Обзор
Документация
Войти
/
redgpu
/
ispc
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/opt/ImproveMemoryOps.h
31 строка
923 B
Aleksei Nurmukhametov
Clean up ISPC pass defintions
02 май 2024, 21:16
02 май 2024, 21:16
2187a74
Код
Авторство
О чём код?
/* Copyright (c) 2022-2024, Intel Corporation SPDX-License-Identifier: BSD-3-Clause */ #pragma once #include "ISPCPass.h" namespace ispc { /** When the front-end emits gathers and scatters, it generates an array of vector-width pointers to represent the set of addresses to read from or write to. This optimization detects cases when the base pointer is a uniform pointer or when the indexing is into an array that can be converted into scatters/gathers from a single base pointer and an array of offsets. See for example the comments discussing the __pseudo_gather functions in builtins.cpp for more information about this. */ struct ImproveMemoryOpsPass : public llvm::PassInfoMixin<ImproveMemoryOpsPass> { llvm::PreservedAnalyses run(llvm::Function &F, llvm::FunctionAnalysisManager &FAM); private: bool improveMemoryOps(llvm::BasicBlock &BB); }; } // namespace ispc