diff --git a/man/Block.Rd b/man/Block.Rd index 6fba5a36..440fd7c4 100644 --- a/man/Block.Rd +++ b/man/Block.Rd @@ -14,6 +14,9 @@ \alias{[,BasicBlock,numeric,ANY-method} \alias{[[,BasicBlock,numeric,ANY-method} \alias{sapply,BasicBlock-method} +\alias{length,BasicBlock-method} + +\alias{removeFromParent,BasicBlock-method} diff --git a/man/Function.Rd b/man/Function.Rd index 95a183aa..6bb6ffc6 100644 --- a/man/Function.Rd +++ b/man/Function.Rd @@ -40,6 +40,10 @@ \alias{coerce,Function,function-method} \alias{[[,Function,numeric,ANY-method} +\alias{getParent,Function-method} + +\alias{LLVMAttributes} + \title{Create an LLVM function/routine} \description{ This function and class creates a template @@ -51,6 +55,7 @@ } \usage{ Function(name, retType, paramTypes = list(), module = Module(), varArgs = FALSE, ...) +getParent(x, ...) } \arguments{ \item{name}{a string giving the name of the function} diff --git a/man/InitializeNativeTarget.Rd b/man/InitializeNativeTarget.Rd index 015fbe10..6ccfdfd1 100644 --- a/man/InitializeNativeTarget.Rd +++ b/man/InitializeNativeTarget.Rd @@ -5,6 +5,14 @@ \alias{llvmStopMultiThreaded} \alias{llvmVersion} +\alias{InitializeAllAsmParsers} +\alias{InitializeAllAsmPrinters} +\alias{InitializeAllTargets} +\alias{InitializeAllTargetMCs} + +\alias{InitializeNVPTXTarget} +\alias{InitializeCppBackendTarget} + \alias{getLLVMTargets} \title{Initialize the LLVM engine for JIT operations} @@ -21,6 +29,14 @@ llvmStartMultiThreaded() llvmStopMultiThreaded() llvmVersion() getLLVMTargets() + +InitalizeAllAsmParsers() +InitalizeAllAsmPrinters() +InitalizeAllTargets() +InitalizeAllTargetMCs() + +InitializeNVPTXTarget() +InitializeCppBackendTarget() } %- maybe also 'usage' for other objects documented here. \value{ diff --git a/man/InstructionFuns.Rd b/man/InstructionFuns.Rd index 15c0f8af..83431f62 100644 --- a/man/InstructionFuns.Rd +++ b/man/InstructionFuns.Rd @@ -31,8 +31,23 @@ \alias{getNumOperands} \alias{getOperand} +\alias{getOperands} +\alias{getNumOperands,Instruction-method} +\alias{getOperand,Instruction-method} +\alias{getOperands,Instruction-method} \alias{[[,Instruction,numeric,ANY-method} +\alias{length,Instruction-method} + +\alias{eraseFromParent,Instruction-method} +\alias{removeFromParent,Instruction-method} + +\alias{removeFromParent} + +\alias{insertBefore} +\alias{insertAfter} +\alias{moveBefore} + %- Also NEED an '\alias' for EACH other topic documented here. \title{Miscellaneous functions operating on LLVM Instruction objects} \description{ diff --git a/man/TargetFuns.Rd b/man/TargetFuns.Rd index eccc66f9..d288cdce 100644 --- a/man/TargetFuns.Rd +++ b/man/TargetFuns.Rd @@ -2,6 +2,7 @@ \alias{targetLibraryInfo} \alias{setTargetTriple} \alias{getTargetTriple} +\alias{getDefaultTargetTriple} \alias{lookupTarget} \title{Functions related to different targets} @@ -12,21 +13,29 @@ targetLibraryInfo(triple) setTargetTriple(m, str) getTargetTriple(m) -lookupTarget(triple) +lookupTarget(triple, arch = character()) +getDefaultTargetTriple() } %- maybe also 'usage' for other objects documented here. \arguments{ \item{triple,str}{the triple string describing the target information} \item{m}{module object on which to get/set the triple} + \item{arch}{a string identifying the architecture of the target, e.g. \code{"nvptx64"}} } %\value{} \references{ LLVM Documentation } \author{ -DTL +Duncan Temple Lang } %\seealso{} -%\examples{} +\examples{ + tri = getDefaultTargetTriple() + print(tri) + + m = Module() + setTargetTriple(tri) +} \keyword{programming} diff --git a/man/formattedRawOstream.Rd b/man/formattedRawOstream.Rd new file mode 100644 index 00000000..d495ca48 --- /dev/null +++ b/man/formattedRawOstream.Rd @@ -0,0 +1,45 @@ +\name{formattedRawOstream} +\alias{formattedRawOstream} +\alias{coerce,raw_string_ostream,character-method} +\alias{stringRawOstream} +\alias{rawFDOstream} + +\alias{raw_string_ostream-class} +\alias{formatted_raw_ostream-class} +\alias{raw_string_ostream-class} + +\title{Create and access LLVM output streams} +\description{ + +} +\usage{ +formattedRawOstream(stream, delete = FALSE, finalize = TRUE) +stringRawOstream(value = "") +rawFDOstream(filename) +} + +\arguments{ + \item{stream}{the raw ostream which } + \item{delete}{a logical value indicating whether to release/garbage + collect the raw stream \code{stream}.} + \item{finalize}{a logical value to indicate whether to register a + finalizer for the stream} + \item{value}{an initial string, typically empty} + \item{filename}{the name of the file to which the contents should be written} +} +\value{ + +} +\references{} +\author{ +Duncan Temple Lang +} + +\seealso{ +\code{\link{PassManager}} +} +\examples{ + +} +\keyword{programming} +\keyword{IO} diff --git a/man/getCallingConv.Rd b/man/getCallingConv.Rd new file mode 100644 index 00000000..9b7a97eb --- /dev/null +++ b/man/getCallingConv.Rd @@ -0,0 +1,37 @@ +\name{getCallingConv} +\alias{getCallingConv} +\alias{setCallingConv} +\alias{coerce,character,CallingConv-method} +\alias{coerce,integer,CallingConv-method} +\alias{coerce,numeric,CallingConv-method} + +\title{Get and set the calling convention for a routine} +\description{ + These functions allow us to specify and query the calling convention + of an LLVM routine. +} +\usage{ +getCallingConv(fun) +} +\arguments{ + \item{fun}{the LLVM \code{Function} object} +} +\value{ + \code{getCallingConv} returns an enumerated constant + identifying the specific calling convention. +} +\references{ +LLVM documentation +} +\author{ +Duncan Temple Lang +} + +\seealso{ +\code{\link{Function}} +} +\examples{ + f = Function("foo", Int32Type, list(x = Int32Type, y = DoubleType)) + getCallingConv(f) +} +\keyword{programming} diff --git a/man/getPassManager.Rd b/man/getPassManager.Rd index 6ff7ca33..e0b857e2 100644 --- a/man/getPassManager.Rd +++ b/man/getPassManager.Rd @@ -3,6 +3,9 @@ \alias{passManager} \alias{addPass} \alias{FunctionPassManager-class} +\alias{run,PassManager-method} +\alias{addAnalysisPasses} +\alias{addPassesToEmitFile} \title{Create an LLVM pass manager} \description{ diff --git a/man/setMetadata.Rd b/man/setMetadata.Rd new file mode 100644 index 00000000..d3d51612 --- /dev/null +++ b/man/setMetadata.Rd @@ -0,0 +1,66 @@ +\name{setMetadata} +\alias{setMetadata} +\alias{getMetadata} + +\alias{MDNode-class} +\alias{MDString-class} +\alias{NamedMDNode-class} + +\alias{setMetadata,NamedMDNode,ANY-method} +\alias{setMetadata,Module,character-method} +\alias{getMetadata,Module,character-method} + +\alias{[,MDNode,missing,ANY-method} +\alias{[,MDNode,numeric,ANY-method} +\alias{[,NamedMDNode,missing,ANY-method} +\alias{[,NamedMDNode,numeric,ANY-method} +\alias{[[,NamedMDNode,numeric,ANY-method} +\alias{[[,MDNode,numeric,ANY-method} + +\alias{getNumOperands,MDNode-method} +\alias{getNumOperands,NamedMDNode-method} +\alias{getOperands,MDNode-method} +\alias{getOperands,NamedMDNode-method} + +\alias{length,MDNode-method} +\alias{length,NamedMDNode-method} + + +\title{Functions for working with LLVM metadata} +\description{ + These functions allow us to set and get metadata + on a module and to access the resulting + \code{NamedMDNode} and \code{MDNode} + objects representing the metadata in a convenient manner. +} +\usage{ +setMetadata(x, id, values, ...) +getMetadata(module, id, ...) +} +%- maybe also 'usage' for other objects documented here. +\arguments{ + \item{x,module}{ the \code{Module} object or NamedMDNode on which we + set or get the metadata} + \item{id}{a string, the name/identifier of the metadata. This + identifies which metadata field we want} + \item{values}{a list of values to use as the metadata. These are + coerced to \code{MDNode} objects.} + \item{\dots}{additional arguments for the methods} +} +\value{ + +} +%\references{} +\author{ +Duncan Temple Lang +} + + +\seealso{ + \code{\link{Module}} + \code{\link{Function}} +} +\examples{ +} +\keyword{programming} +\concept{metadata}