LLVM 22.0.0git
DXILFlattenArrays.cpp File Reference
#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 ConstanttransformInitializer (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

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dxil-flatten-arrays"

Definition at line 30 of file DXILFlattenArrays.cpp.

Function Documentation

◆ collectElements()

void collectElements ( Constant * Init,
SmallVectorImpl< Constant * > & Elements )
static

◆ flattenArrays()

bool flattenArrays ( Module & M)
static

◆ flattenGlobalArrays()

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DXILFlattenArraysLegacy ,
DEBUG_TYPE ,
"DXIL Array Flattener" ,
false ,
false  )

References DEBUG_TYPE.

◆ transformInitializer()

Variable Documentation

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 510 of file DXILFlattenArrays.cpp.

◆ false

DXIL Array false

Definition at line 511 of file DXILFlattenArrays.cpp.

◆ Flattener

DXIL Array Flattener

Definition at line 510 of file DXILFlattenArrays.cpp.