LLVM 20.0.0git
|
#include "DXILFlattenArrays.h"
#include "DirectX.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/ReplaceConstant.h"
#include "llvm/Support/Casting.h"
#include "llvm/Transforms/Utils/Local.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <utility>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "dxil-flatten-arrays" |
Functions | |
static void | collectElements (Constant *Init, SmallVectorImpl< Constant * > &Elements) |
static Constant * | transformInitializer (Constant *Init, Type *OrigType, ArrayType *FlattenedType, LLVMContext &Ctx) |
static void | flattenGlobalArrays (Module &M, DenseMap< GlobalVariable *, GlobalVariable * > &GlobalMap) |
static bool | flattenArrays (Module &M) |
INITIALIZE_PASS_BEGIN (DXILFlattenArraysLegacy, DEBUG_TYPE, "DXIL Array Flattener", false, false) INITIALIZE_PASS_END(DXILFlattenArraysLegacy | |
Variables | |
DEBUG_TYPE | |
DXIL Array | Flattener |
DXIL Array | false |
#define DEBUG_TYPE "dxil-flatten-arrays" |
Definition at line 29 of file DXILFlattenArrays.cpp.
|
static |
Definition at line 328 of file DXILFlattenArrays.cpp.
References collectElements(), llvm::Constant::getNullValue(), I, and llvm_unreachable.
Referenced by collectElements(), and transformInitializer().
Definition at line 417 of file DXILFlattenArrays.cpp.
References F, flattenGlobalArrays(), and llvm::make_early_inc_range().
Referenced by llvm::DXILFlattenArrays::run().
|
static |
Definition at line 380 of file DXILFlattenArrays.cpp.
References G, llvm::GlobalObject::setAlignment(), llvm::GlobalVariable::setInitializer(), llvm::GlobalValue::setUnnamedAddr(), and transformInitializer().
Referenced by flattenArrays().
INITIALIZE_PASS_BEGIN | ( | DXILFlattenArraysLegacy | , |
DEBUG_TYPE | , | ||
"DXIL Array Flattener" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 358 of file DXILFlattenArrays.cpp.
References assert(), collectElements(), llvm::ConstantArray::get(), llvm::UndefValue::get(), llvm::ConstantAggregateZero::get(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by flattenGlobalArrays().
DEBUG_TYPE |
Definition at line 451 of file DXILFlattenArrays.cpp.
DXIL Array false |
Definition at line 452 of file DXILFlattenArrays.cpp.
DXIL Array Flattener |
Definition at line 451 of file DXILFlattenArrays.cpp.