LLVM 22.0.0git
llvm::GlobalMergeOptions Struct Reference

#include "llvm/CodeGen/GlobalMerge.h"

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.

Detailed Description

Definition at line 18 of file GlobalMerge.h.

Member Data Documentation

◆ GroupByUse

bool llvm::GlobalMergeOptions::GroupByUse = true

Definition at line 26 of file GlobalMerge.h.

◆ IgnoreSingleUse

bool llvm::GlobalMergeOptions::IgnoreSingleUse = true

Definition at line 27 of file GlobalMerge.h.

◆ MaxOffset

unsigned llvm::GlobalMergeOptions::MaxOffset = 0

Definition at line 23 of file GlobalMerge.h.

◆ 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

Definition at line 25 of file GlobalMerge.h.

◆ 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: