LLVM  8.0.1
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/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"
Include dependency graph for HexagonTargetObjectFile.cpp:

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::init(false), cl::Hidden, cl::ZeroOrMore, 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 14 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")
raw_ostream & errs()
This returns a reference to a raw_ostream for standard error.
#define TRACE_TO(s, X)
static cl::opt< bool > TraceGVPlacement("trace-gv-placement", cl::Hidden, cl::init(false), cl::desc("Trace global value placement"))
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
Definition: Debug.cpp:133

Definition at line 72 of file HexagonTargetObjectFile.cpp.

Referenced by llvm::HexagonTargetObjectFile::getExplicitSectionGlobal(), llvm::HexagonTargetObjectFile::SelectSectionForGlobal(), and llvm::HexagonTargetObjectFile::shouldPutJumpTableInFunctionSection().

◆ 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

◆ 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"))
static

◆ EmitLutInText

cl::opt<bool> EmitLutInText("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"))
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"))
static

◆ StaticsInSData

cl::opt<bool> StaticsInSData("hexagon-statics-in-small-data", cl::init(false), cl::Hidden, cl::ZeroOrMore, 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"))
static