LLVM: llvm::GlobalMergeOptions Struct Reference (original) (raw)

#include "[llvm/CodeGen/GlobalMerge.h](GlobalMerge%5F8h%5Fsource.html)"

Public Attributes
unsigned MaxOffset = 0
unsigned MinSize = 0
bool GroupByUse = true
bool IgnoreSingleUse = true
bool MergeExternal = true
Whether we should merge global variables that have external linkage.
bool MergeConstantGlobals = false
Whether we should merge constant global variables.
bool MergeConstAggressive = false
Whether we should merge constant global variables aggressively without looking at use.
bool SizeOnly = false
Whether we should try to optimize for size only.

Definition at line 18 of file GlobalMerge.h.

GroupByUse

bool llvm::GlobalMergeOptions::GroupByUse = true

IgnoreSingleUse

bool llvm::GlobalMergeOptions::IgnoreSingleUse = true

MaxOffset

unsigned llvm::GlobalMergeOptions::MaxOffset = 0

MergeConstAggressive

bool llvm::GlobalMergeOptions::MergeConstAggressive = false

Whether we should merge constant global variables aggressively without looking at use.

Definition at line 34 of file GlobalMerge.h.

MergeConstantGlobals

bool llvm::GlobalMergeOptions::MergeConstantGlobals = false

Whether we should merge constant global variables.

Definition at line 31 of file GlobalMerge.h.

MergeExternal

bool llvm::GlobalMergeOptions::MergeExternal = true

Whether we should merge global variables that have external linkage.

Definition at line 29 of file GlobalMerge.h.

MinSize

unsigned llvm::GlobalMergeOptions::MinSize = 0

SizeOnly

bool llvm::GlobalMergeOptions::SizeOnly = false

Whether we should try to optimize for size only.

Currently, this applies a dead simple heuristic: only consider globals used in minsize functions for merging. FIXME: This could learn about optsize, and be used in the cost model.

Definition at line 39 of file GlobalMerge.h.


The documentation for this struct was generated from the following file: