|
LLVM 24.0.0git
|
#include "llvm/Transforms/Utils/AMDGPUEmitPrintf.h"#include "llvm/ADT/SparseBitVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/Module.h"#include "llvm/Support/DataExtractor.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MD5.h"#include "llvm/Support/MathExtras.h"Go to the source code of this file.
Classes | |
| struct | StringData |
Macros | |
| #define | DEBUG_TYPE "amdgpu-emit-printf" |
Functions | |
| static Value * | fitArgInto64Bits (IRBuilder<> &Builder, Value *Arg) |
| static Value * | callPrintfBegin (IRBuilder<> &Builder, Value *Version) |
| static Value * | callAppendArgs (IRBuilder<> &Builder, Value *Desc, int NumArgs, Value *Arg0, Value *Arg1, Value *Arg2, Value *Arg3, Value *Arg4, Value *Arg5, Value *Arg6, bool IsLast) |
| static Value * | appendArg (IRBuilder<> &Builder, Value *Desc, Value *Arg, bool IsLast) |
| static Value * | getStrlenWithNull (IRBuilder<> &Builder, Value *Str) |
| static Value * | callAppendStringN (IRBuilder<> &Builder, Value *Desc, Value *Str, Value *Length, bool isLast) |
| static Value * | appendString (IRBuilder<> &Builder, Value *Desc, Value *Arg, bool IsLast) |
| static Value * | processArg (IRBuilder<> &Builder, Value *Desc, Value *Arg, bool SpecIsCString, bool IsLast) |
| static Value * | callBufferedPrintfStart (IRBuilder<> &Builder, ArrayRef< Value * > Args, Value *Fmt, bool isConstFmtStr, SparseBitVector< 8 > &SpecIsCString, SmallVectorImpl< StringData > &StringContents, Value *&ArgSize) |
| static void | processConstantStringArg (StringData *SD, IRBuilder<> &Builder, SmallVectorImpl< Value * > &WhatToStore) |
| static Value * | processNonStringArg (Value *Arg, IRBuilder<> &Builder) |
| static void | callBufferedPrintfArgPush (IRBuilder<> &Builder, ArrayRef< Value * > Args, Value *PtrToStore, SparseBitVector< 8 > &SpecIsCString, SmallVectorImpl< StringData > &StringContents, bool IsConstFmtStr) |
| #define DEBUG_TYPE "amdgpu-emit-printf" |
Definition at line 29 of file AMDGPUEmitPrintf.cpp.
Definition at line 78 of file AMDGPUEmitPrintf.cpp.
References callAppendArgs(), and fitArgInto64Bits().
Referenced by processArg().
Definition at line 165 of file AMDGPUEmitPrintf.cpp.
References callAppendStringN(), getStrlenWithNull(), and llvm::Length.
Referenced by llvm::emitAMDGPUPrintfCall(), and processArg().
|
static |
Definition at line 62 of file AMDGPUEmitPrintf.cpp.
Referenced by appendArg().
|
static |
Definition at line 154 of file AMDGPUEmitPrintf.cpp.
References llvm::Length.
Referenced by appendString().
|
static |
Definition at line 388 of file AMDGPUEmitPrintf.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::dbgs(), DL, LLVM_DEBUG, processConstantStringArg(), processNonStringArg(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SparseBitVector< ElementSize >::test().
Referenced by llvm::emitAMDGPUPrintfCall().
|
static |
Definition at line 272 of file AMDGPUEmitPrintf.cpp.
References llvm::alignTo(), llvm::FunctionType::get(), llvm::getConstantStringInfo(), getStrlenWithNull(), getType(), llvm::Value::getType(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::StringRef::size(), and llvm::SparseBitVector< ElementSize >::test().
Referenced by llvm::emitAMDGPUPrintfCall().
Definition at line 55 of file AMDGPUEmitPrintf.cpp.
Referenced by llvm::emitAMDGPUPrintfCall().
Definition at line 31 of file AMDGPUEmitPrintf.cpp.
References llvm::Type::DoubleTyID, llvm::dyn_cast(), llvm::Value::getType(), llvm::isa(), and llvm_unreachable.
Referenced by appendArg().
Definition at line 88 of file AMDGPUEmitPrintf.cpp.
References llvm::BasicBlock::begin(), llvm::BasicBlock::Create(), llvm::UncondBrInst::Create(), llvm::Data, llvm::Instruction::eraseFromParent(), llvm::Constant::getNullValue(), llvm::BasicBlock::getTerminator(), and llvm::BasicBlock::splitBasicBlock().
Referenced by appendString(), and callBufferedPrintfStart().
|
static |
Definition at line 171 of file AMDGPUEmitPrintf.cpp.
References appendArg(), appendString(), llvm::Value::getType(), and llvm::isa().
Referenced by llvm::emitAMDGPUPrintfCall().
|
static |
Definition at line 360 of file AMDGPUEmitPrintf.cpp.
References llvm::packAMDGPUPrintfConstantString(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and StringData::Str.
Referenced by callBufferedPrintfArgPush().
Definition at line 368 of file AMDGPUEmitPrintf.cpp.
References DL, llvm::dyn_cast(), and llvm::Value::getType().
Referenced by callBufferedPrintfArgPush().