|
LLVM 22.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/Support/MathExtras.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, SmallDenseMap< 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 30 of file DXILFlattenArrays.cpp.
|
static |
Definition at line 388 of file DXILFlattenArrays.cpp.
References collectElements(), llvm::dyn_cast(), llvm::Constant::getNullValue(), I, llvm::isa(), and llvm_unreachable.
Referenced by collectElements(), and transformInitializer().
Definition at line 476 of file DXILFlattenArrays.cpp.
References F, flattenGlobalArrays(), and llvm::make_early_inc_range().
Referenced by llvm::DXILFlattenArrays::run().
|
static |
Definition at line 439 of file DXILFlattenArrays.cpp.
References llvm::cast(), G, llvm::ArrayType::get(), llvm::GlobalVariable::setAlignment(), llvm::GlobalVariable::setInitializer(), llvm::GlobalValue::setUnnamedAddr(), and transformInitializer().
Referenced by flattenArrays().
| INITIALIZE_PASS_BEGIN | ( | DXILFlattenArraysLegacy | , |
| DEBUG_TYPE | , | ||
| "DXIL Array Flattener" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE.
|
static |
Definition at line 418 of file DXILFlattenArrays.cpp.
References assert(), collectElements(), llvm::ConstantAggregateZero::get(), llvm::ConstantArray::get(), llvm::UndefValue::get(), llvm::isa(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
| DEBUG_TYPE |
Definition at line 510 of file DXILFlattenArrays.cpp.
| DXIL Array false |
Definition at line 511 of file DXILFlattenArrays.cpp.
| DXIL Array Flattener |
Definition at line 510 of file DXILFlattenArrays.cpp.