|
LLVM
4.0.0
|
#include "InstPrinter/NVPTXInstPrinter.h"#include "MCTargetDesc/NVPTXBaseInfo.h"#include "MCTargetDesc/NVPTXMCAsmInfo.h"#include "NVPTX.h"#include "NVPTXAsmPrinter.h"#include "NVPTXMCExpr.h"#include "NVPTXMachineFunctionInfo.h"#include "NVPTXRegisterInfo.h"#include "NVPTXSubtarget.h"#include "NVPTXTargetMachine.h"#include "NVPTXUtilities.h"#include "cl_common_defines.h"#include "llvm/ADT/APFloat.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Triple.h"#include "llvm/ADT/Twine.h"#include "llvm/Analysis/ConstantFolding.h"#include "llvm/CodeGen/Analysis.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineLoopInfo.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/MachineValueType.h"#include "llvm/CodeGen/ValueTypes.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/Constant.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DataLayout.h"#include "llvm/IR/DebugInfo.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DebugLoc.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Module.h"#include "llvm/IR/Operator.h"#include "llvm/IR/Type.h"#include "llvm/IR/User.h"#include "llvm/MC/MCExpr.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstrDesc.h"#include "llvm/MC/MCStreamer.h"#include "llvm/MC/MCSymbol.h"#include "llvm/Support/Casting.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/Path.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Support/TargetRegistry.h"#include "llvm/Target/TargetLowering.h"#include "llvm/Target/TargetLoweringObjectFile.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetRegisterInfo.h"#include "llvm/Transforms/Utils/UnrollLoop.h"#include <cassert>#include <cstdint>#include <cstring>#include <new>#include <sstream>#include <string>#include <utility>#include <vector>Go to the source code of this file.
Macros | |
| #define | DEPOTNAME "__local_depot" |
Functions | |
| static void | DiscoverDependentGlobals (const Value *V, DenseSet< const GlobalVariable * > &Globals) |
DiscoverDependentGlobals - Return a set of GlobalVariables on which V depends. More... | |
| static void | VisitGlobalVariableForEmission (const GlobalVariable *GV, SmallVectorImpl< const GlobalVariable * > &Order, DenseSet< const GlobalVariable * > &Visited, DenseSet< const GlobalVariable * > &Visiting) |
VisitGlobalVariableForEmission - Add GV to the list of GlobalVariable instances to be emitted, but only after any dependents have been added first.s. More... | |
| static bool | usedInGlobalVarDef (const Constant *C) |
| static bool | usedInOneFunc (const User *U, Function const *&oneFunc) |
| static bool | canDemoteGlobalVar (const GlobalVariable *gv, Function const *&f) |
| static bool | useFuncSeen (const Constant *C, DenseMap< const Function *, bool > &seenMap) |
| static bool | isEmptyXXStructor (GlobalVariable *GV) |
| static unsigned int | getOpenCLAlignment (const DataLayout &DL, Type *Ty) |
| template<typename T > | |
| static void | ConvertIntToBytes (unsigned char *p, T val) |
| static void | ConvertFloatToBytes (unsigned char *p, float val) |
| static void | ConvertDoubleToBytes (unsigned char *p, double val) |
| void | LLVMInitializeNVPTXAsmPrinter () |
Variables | |
| static cl::opt< bool > | EmitLineNumbers ("nvptx-emit-line-numbers", cl::Hidden, cl::desc("NVPTX Specific: Emit Line numbers even without -G"), cl::init(true)) |
| static cl::opt< bool > | InterleaveSrc ("nvptx-emit-src", cl::ZeroOrMore, cl::Hidden, cl::desc("NVPTX Specific: Emit source line in ptx file"), cl::init(false)) |
| #define DEPOTNAME "__local_depot" |
Definition at line 94 of file NVPTXAsmPrinter.cpp.
|
static |
Definition at line 720 of file NVPTXAsmPrinter.cpp.
References llvm::ADDRESS_SPACE_SHARED, llvm::PointerType::getAddressSpace(), llvm::GlobalValue::getType(), llvm::GlobalValue::hasInternalLinkage(), and usedInOneFunc().
|
static |
Definition at line 1845 of file NVPTXAsmPrinter.cpp.
References i.
|
static |
Definition at line 1838 of file NVPTXAsmPrinter.cpp.
References i.
Definition at line 1831 of file NVPTXAsmPrinter.cpp.
|
static |
DiscoverDependentGlobals - Return a set of GlobalVariables on which V depends.
Definition at line 109 of file NVPTXAsmPrinter.cpp.
References i, and llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::insert().
Referenced by VisitGlobalVariableForEmission().
|
static |
Definition at line 1444 of file NVPTXAsmPrinter.cpp.
References llvm::dyn_cast(), llvm::DataLayout::getPointerPrefAlignment(), llvm::DataLayout::getPrefTypeAlignment(), and llvm::Type::isSingleValueType().
|
static |
Definition at line 846 of file NVPTXAsmPrinter.cpp.
References llvm::dyn_cast(), llvm::GlobalVariable::getInitializer(), and llvm::User::getNumOperands().
Referenced by llvm::NVPTXAsmPrinter::doInitialization().
| void LLVMInitializeNVPTXAsmPrinter | ( | ) |
Definition at line 2414 of file NVPTXAsmPrinter.cpp.
References llvm::getTheNVPTXTarget32(), llvm::getTheNVPTXTarget64(), X, and Y.
Definition at line 673 of file NVPTXAsmPrinter.cpp.
References llvm::Value::users().
Definition at line 689 of file NVPTXAsmPrinter.cpp.
References llvm::GlobalValue::getParent(), and llvm::Value::users().
Referenced by canDemoteGlobalVar().
Definition at line 738 of file NVPTXAsmPrinter.cpp.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::BasicBlock::getParent(), I, and llvm::Value::users().
|
static |
VisitGlobalVariableForEmission - Add GV to the list of GlobalVariable instances to be emitted, but only after any dependents have been added first.s.
Definition at line 126 of file NVPTXAsmPrinter.cpp.
References llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::begin(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), DiscoverDependentGlobals(), E, llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::end(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::erase(), llvm::User::getNumOperands(), llvm::User::getOperand(), I, i, llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::insert(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::report_fatal_error().
|
static |
Referenced by llvm::NVPTXAsmPrinter::emitLineNumberAsDotLoc().
1.8.6