|
LLVM 24.0.0git
|
#include "llvm/Transforms/Utils/AMDGPUEmitPrintf.h"#include "llvm/ADT/SparseBitVector.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/IR/Module.h"#include "llvm/Support/AMDGPUPrintf.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 26 of file AMDGPUEmitPrintf.cpp.
Definition at line 75 of file AMDGPUEmitPrintf.cpp.
References callAppendArgs(), and fitArgInto64Bits().
Referenced by processArg().
Definition at line 162 of file AMDGPUEmitPrintf.cpp.
References callAppendStringN(), getStrlenWithNull(), and llvm::Length.
Referenced by llvm::emitAMDGPUPrintfCall(), and processArg().
|
static |
Definition at line 59 of file AMDGPUEmitPrintf.cpp.
Referenced by appendArg().
|
static |
Definition at line 151 of file AMDGPUEmitPrintf.cpp.
References llvm::Length.
Referenced by appendString().
|
static |
Definition at line 309 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 193 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 52 of file AMDGPUEmitPrintf.cpp.
Referenced by llvm::emitAMDGPUPrintfCall().
Definition at line 28 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 85 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 168 of file AMDGPUEmitPrintf.cpp.
References appendArg(), appendString(), llvm::Value::getType(), and llvm::isa().
Referenced by llvm::emitAMDGPUPrintfCall().
|
static |
Definition at line 281 of file AMDGPUEmitPrintf.cpp.
References llvm::packAMDGPUPrintfConstantString(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and StringData::Str.
Referenced by callBufferedPrintfArgPush().
Definition at line 289 of file AMDGPUEmitPrintf.cpp.
References DL, llvm::dyn_cast(), and llvm::Value::getType().
Referenced by callBufferedPrintfArgPush().