LLVM
8.0.1
|
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Mangler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
Go to the source code of this file.
Functions | |
static bool | isNullOrUndef (const Constant *C) |
static bool | isSuitableForBSS (const GlobalVariable *GV) |
static bool | IsNullTerminatedString (const Constant *C) |
IsNullTerminatedString - Return true if the specified constant (which is known to have a type that is an array of 1/2/4 byte elements) ends with a nul value and contains no other nuls in it. More... | |
Definition at line 57 of file TargetLoweringObjectFile.cpp.
References C, llvm::Constant::isNullValue(), and llvm::User::operand_values().
Referenced by isSuitableForBSS().
IsNullTerminatedString - Return true if the specified constant (which is known to have a type that is an array of 1/2/4 byte elements) ends with a nul value and contains no other nuls in it.
Note that this is more general than ConstantDataSequential::isString because we allow 2 & 4 byte strings.
Definition at line 93 of file TargetLoweringObjectFile.cpp.
References assert(), and llvm::Value::getType().
Referenced by llvm::TargetLoweringObjectFile::getKindForGlobal().
|
static |
Definition at line 70 of file TargetLoweringObjectFile.cpp.
References C, llvm::GlobalVariable::getInitializer(), llvm::GlobalObject::hasSection(), llvm::GlobalVariable::isConstant(), and isNullOrUndef().
Referenced by llvm::TargetLoweringObjectFile::getKindForGlobal().