LLVM 19.0.0git
Macros | Functions | Variables
HexagonTargetObjectFile.cpp File Reference
#include "HexagonTargetObjectFile.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/SectionKind.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "hexagon-sdata"
 
#define TRACE_TO(s, X)   s << X
 
#define TRACE(X)
 

Functions

static bool isSmallDataSection (StringRef Sec)
 
static const chargetSectionSuffixForSize (unsigned Size)
 

Variables

static cl::opt< unsignedSmallDataThreshold ("hexagon-small-data-threshold", cl::init(8), cl::Hidden, cl::desc("The maximum size of an object in the sdata section"))
 
static cl::opt< boolNoSmallDataSorting ("mno-sort-sda", cl::init(false), cl::Hidden, cl::desc("Disable small data sections sorting"))
 
static cl::opt< boolStaticsInSData ("hexagon-statics-in-small-data", cl::Hidden, cl::desc("Allow static variables in .sdata"))
 
static cl::opt< boolTraceGVPlacement ("trace-gv-placement", cl::Hidden, cl::init(false), cl::desc("Trace global value placement"))
 
static cl::opt< boolEmitJtInText ("hexagon-emit-jt-text", cl::Hidden, cl::init(false), cl::desc("Emit hexagon jump tables in function section"))
 
static cl::opt< boolEmitLutInText ("hexagon-emit-lut-text", cl::Hidden, cl::init(false), cl::desc("Emit hexagon lookup tables in function section"))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-sdata"

Definition at line 33 of file HexagonTargetObjectFile.cpp.

◆ TRACE

#define TRACE (   X)
Value:
do { \
TRACE_TO(errs(), X); \
} else { \
LLVM_DEBUG(TRACE_TO(dbgs(), X)); \
} \
} while (false)
static GCMetadataPrinterRegistry::Add< ErlangGCPrinter > X("erlang", "erlang-compatible garbage collector")
static cl::opt< bool > TraceGVPlacement("trace-gv-placement", cl::Hidden, cl::init(false), cl::desc("Trace global value placement"))
#define TRACE_TO(s, X)
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
Definition: Debug.cpp:163
raw_fd_ostream & errs()
This returns a reference to a raw_ostream for standard error.

Definition at line 72 of file HexagonTargetObjectFile.cpp.

◆ TRACE_TO

#define TRACE_TO (   s,
  X 
)    s << X

Definition at line 63 of file HexagonTargetObjectFile.cpp.

Function Documentation

◆ getSectionSuffixForSize()

static const char * getSectionSuffixForSize ( unsigned  Size)
static

Definition at line 97 of file HexagonTargetObjectFile.cpp.

References Size.

◆ isSmallDataSection()

static bool isSmallDataSection ( StringRef  Sec)
static

Variable Documentation

◆ EmitJtInText

cl::opt< bool > EmitJtInText("hexagon-emit-jt-text", cl::Hidden, cl::init(false), cl::desc("Emit hexagon jump tables in function section")) ( "hexagon-emit-jt-text"  ,
cl::Hidden  ,
cl::init(false)  ,
cl::desc("Emit hexagon jump tables in function section")   
)
static

◆ EmitLutInText

cl::opt< bool > EmitLutInText("hexagon-emit-lut-text", cl::Hidden, cl::init(false), cl::desc("Emit hexagon lookup tables in function section")) ( "hexagon-emit-lut-text"  ,
cl::Hidden  ,
cl::init(false)  ,
cl::desc("Emit hexagon lookup tables in function section")   
)
static

◆ NoSmallDataSorting

cl::opt< bool > NoSmallDataSorting("mno-sort-sda", cl::init(false), cl::Hidden, cl::desc("Disable small data sections sorting")) ( "mno-sort-sda"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Disable small data sections sorting")   
)
static

◆ SmallDataThreshold

cl::opt< unsigned > SmallDataThreshold("hexagon-small-data-threshold", cl::init(8), cl::Hidden, cl::desc("The maximum size of an object in the sdata section")) ( "hexagon-small-data-threshold"  ,
cl::init(8)  ,
cl::Hidden  ,
cl::desc("The maximum size of an object in the sdata section")   
)
static

◆ StaticsInSData

cl::opt< bool > StaticsInSData("hexagon-statics-in-small-data", cl::Hidden, cl::desc("Allow static variables in .sdata")) ( "hexagon-statics-in-small-data"  ,
cl::Hidden  ,
cl::desc("Allow static variables in .sdata")   
)
static

◆ TraceGVPlacement

cl::opt< bool > TraceGVPlacement("trace-gv-placement", cl::Hidden, cl::init(false), cl::desc("Trace global value placement")) ( "trace-gv-placement"  ,
cl::Hidden  ,
cl::init(false)  ,
cl::desc("Trace global value placement")   
)
static